diff options
author | Ulrich Müller <ulm@gentoo.org> | 2008-09-21 10:40:48 +0000 |
---|---|---|
committer | Ulrich Müller <ulm@gentoo.org> | 2008-09-21 10:40:48 +0000 |
commit | ddf307eb22168df612e7b27e0fd5de8083bc78eb (patch) | |
tree | 6514f882365a908bf3d2cd53991a9407af24f133 /sys-auth/skey | |
parent | Add some ppc64 love. (diff) | |
download | gentoo-2-ddf307eb22168df612e7b27e0fd5de8083bc78eb.tar.gz gentoo-2-ddf307eb22168df612e7b27e0fd5de8083bc78eb.tar.bz2 gentoo-2-ddf307eb22168df612e7b27e0fd5de8083bc78eb.zip |
Install skey(3) man page. Fix binary search.
(Portage version: 2.2_rc8/cvs/Linux 2.6.26-gentoo-r1 i686)
Diffstat (limited to 'sys-auth/skey')
-rw-r--r-- | sys-auth/skey/ChangeLog | 8 | ||||
-rw-r--r-- | sys-auth/skey/files/skey-1.1.5-binary-search.patch | 34 | ||||
-rw-r--r-- | sys-auth/skey/skey-1.1.5-r7.ebuild | 119 |
3 files changed, 160 insertions, 1 deletions
diff --git a/sys-auth/skey/ChangeLog b/sys-auth/skey/ChangeLog index d3ed18eb71a3..6455a5644013 100644 --- a/sys-auth/skey/ChangeLog +++ b/sys-auth/skey/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for sys-auth/skey # Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-auth/skey/ChangeLog,v 1.1 2008/05/11 12:36:09 ulm Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-auth/skey/ChangeLog,v 1.2 2008/09/21 10:40:47 ulm Exp $ + +*skey-1.1.5-r7 (21 Sep 2008) + + 21 Sep 2008; Ulrich Mueller <ulm@gentoo.org> + +files/skey-1.1.5-binary-search.patch, +skey-1.1.5-r7.ebuild: + Install skey(3) man page. Fix binary search. 11 May 2008; Ulrich Mueller <ulm@gentoo.org> +files/skey-1.1.5-bind-now.patch, +files/skey-1.1.5-fPIC.patch, diff --git a/sys-auth/skey/files/skey-1.1.5-binary-search.patch b/sys-auth/skey/files/skey-1.1.5-binary-search.patch new file mode 100644 index 000000000000..47b18ba71400 --- /dev/null +++ b/sys-auth/skey/files/skey-1.1.5-binary-search.patch @@ -0,0 +1,34 @@ +--- skey-1.1.5-orig/put.c 2008-09-21 10:12:06.000000000 +0200 ++++ skey-1.1.5/put.c 2008-09-21 10:19:54.000000000 +0200 +@@ -2206,27 +2206,17 @@ + { + int i, j; + +- for (;;) { ++ while (low <= high) { + i = (low + high) / 2; + + if ((j = strncmp(w, Wp[i], 4)) == 0) + return i; /* Found it */ +- if (high == low + 1) +- { +- /* Avoid effects of integer truncation in /2 */ +- if (strncmp(w, Wp[high], 4) == 0) +- return high; +- else +- return -1; +- } +- +- if (low >= high) +- return -1; /* I don't *think* this can happen... */ + if (j < 0) +- high = i; /* Search lower half */ ++ high = i - 1; /* Search lower half */ + else +- low = i; /* Search upper half */ ++ low = i + 1; /* Search upper half */ + } ++ return -1; + } + + static void insert(char *s, int x, int start, int length) diff --git a/sys-auth/skey/skey-1.1.5-r7.ebuild b/sys-auth/skey/skey-1.1.5-r7.ebuild new file mode 100644 index 000000000000..b6af4e10ff09 --- /dev/null +++ b/sys-auth/skey/skey-1.1.5-r7.ebuild @@ -0,0 +1,119 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-auth/skey/skey-1.1.5-r7.ebuild,v 1.1 2008/09/21 10:40:47 ulm Exp $ + +inherit flag-o-matic ccc eutils toolchain-funcs + +DESCRIPTION="Linux Port of OpenBSD Single-key Password System" +HOMEPAGE="http://www.sparc.spb.su/solaris/skey/" +SRC_URI="mirror://gentoo/${P}.tar.bz2 + mirror://gentoo/skey-1.1.5-gentoo.diff.gz" + +LICENSE="BSD MIT RSA-MD4 RSA-MD5 BEER-WARE" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86" +IUSE="" + +DEPEND="dev-lang/perl" +RDEPEND="${DEPEND} + sys-libs/cracklib" + +src_unpack() { + unpack ${A} + cd "${S}" + + # porting some updates to this skey implementation from the + # NetBSD project, some other updates and fixes, and the addition + # of some new features like shadow password and cracklib support. + # (05 Nov 2003) -taviso@gentoo.org + epatch "${WORKDIR}"/skey-1.1.5-gentoo.diff + + # glibc 2.2.x does not define LOGIN_NAME_MAX #33315 + # (12 Nov 2003) -taviso@gentoo.org + epatch "${FILESDIR}"/skey-login_name_max.diff + + epatch "${FILESDIR}"/${P}-fPIC.patch + epatch "${FILESDIR}"/${P}-bind-now.patch + + # allow invokation as otp-foo. #71015 + # (03 Mar 2005) -taviso. + epatch "${FILESDIR}"/${P}-otp.diff + + # fix binary search + epatch "${FILESDIR}"/${P}-binary-search.patch + + # set the default hash function to md5, #63995 + # (14 Sep 2004) -taviso + append-flags -DSKEY_HASH_DEFAULT=1 + + # skeyprune wont honour @sysconfdir@ + sed -i \ + -e 's:/etc/skeykeys:/etc/skey/skeykeys:g' \ + skeyprune.pl skeyprune.8 || die + + # skeyprune uses a case sensitive regex to check for zeroed entries + sed -i \ + -e 's:\(if ( ! /.*/\):\1i:g' \ + skeyprune.pl || die + + # skeyinit(1) describes md4 as the default hash algorithm, which + # is no longer the case. #64971 + sed -i \ + 's#\(md4\) \((the default)\), \(md5\) or \(sha1.\)#\1, \3 \2 or \4#g' \ + skeyinit.1 + + # skey(3): shared library is in /lib; we don't install a profiling library + sed -i 's:/usr\(/lib/libskey.so\):\1:;/It.*libskey_p/{N;d;}' skey.3 || die +} + +src_compile() { + econf --sysconfdir=/etc/skey || die + emake || die +} + +src_install() { + doman skey.1 skeyaudit.1 skeyinfo.1 skeyinit.1 skey.3 skeyprune.8 + dobin skey skeyinit skeyinfo || die + + dosym skey /usr/bin/otp-md4 + dosym skey /usr/bin/otp-sha1 + dosym skey /usr/bin/otp-md5 + + newsbin skeyprune.pl skeyprune + newbin skeyaudit.sh skeyaudit + + dolib.a libskey.a + + into / + dolib.so libskey.so.1.1.5 libskey.so.1.1 libskey.so.1 libskey.so || die + gen_usr_ldscript libskey.so + + insinto /usr/include + doins skey.h + + dodir /etc/skey + + # only root needs to have access to these files. + fperms g-rx,o-rx /etc/skey + + # skeyinit and skeyinfo must be suid root so users + # can generate their passwords. + fperms u+s,og-r /usr/bin/skeyinit /usr/bin/skeyinfo + + dodoc README CHANGES +} + +pkg_postinst() { + # do not include /etc/skey/skeykeys in the package, as quickpkg + # may package sensitive information. + # This also fixes the etc-update issue with #64974. + + # skeyinit will not function if this file is not present. + touch /etc/skey/skeykeys + + # these permissions are applied by the skey system if missing. + chmod 0600 /etc/skey/skeykeys + + elog "For an introduction into using s/key authentication, take" + elog "a look at the EXAMPLES section from the skey(1) manpage." +} |