summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Müller <ulm@gentoo.org>2008-09-21 10:40:48 +0000
committerUlrich Müller <ulm@gentoo.org>2008-09-21 10:40:48 +0000
commitddf307eb22168df612e7b27e0fd5de8083bc78eb (patch)
tree6514f882365a908bf3d2cd53991a9407af24f133 /sys-auth/skey
parentAdd some ppc64 love. (diff)
downloadgentoo-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/ChangeLog8
-rw-r--r--sys-auth/skey/files/skey-1.1.5-binary-search.patch34
-rw-r--r--sys-auth/skey/skey-1.1.5-r7.ebuild119
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."
+}