summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Müller <ulm@gentoo.org>2015-12-12 10:15:14 +0100
committerUlrich Müller <ulm@gentoo.org>2015-12-12 10:15:14 +0100
commit290b26df9f776c186fea43c21a7213256d48f722 (patch)
tree7cde33f0d31cf41fb8b9055bc731a1b58601f8aa
parentreadme.gentoo.eclass: Enable EAPI 6. (diff)
downloadgentoo-290b26df9f776c186fea43c21a7213256d48f722.tar.gz
gentoo-290b26df9f776c186fea43c21a7213256d48f722.tar.bz2
gentoo-290b26df9f776c186fea43c21a7213256d48f722.zip
sys-auth/skey: Avoid out of bounds stack read.
Fix the extract() function not to access unnecessary array elements; this avoids an out-of-bounds read when called from btoe() or etob(). Change the insert() function to use similar logic as extract(). Bug: 567608 Package-Manager: portage-2.2.26
-rw-r--r--sys-auth/skey/Manifest1
-rw-r--r--sys-auth/skey/skey-1.1.5-r10.ebuild83
2 files changed, 84 insertions, 0 deletions
diff --git a/sys-auth/skey/Manifest b/sys-auth/skey/Manifest
index dbd6b3c9ee35..4cbfec5a4a3c 100644
--- a/sys-auth/skey/Manifest
+++ b/sys-auth/skey/Manifest
@@ -1,2 +1,3 @@
DIST skey-1.1.5-patches-3.tar.xz 33604 SHA256 adabe7b286f586d2cbe1a4b15f71310b7d8e25fc3187f8a89071359d7975badf SHA512 dcef6837e563ce3f68fe4eed35f16db1636e1798219dba95c86db505b5f67034b44bc6d02e0125faa95db8a5c39e9615bfed2dc3105905e576d96cf32016bc2f WHIRLPOOL bff241ecf0f59dae810db300bd858f76e18153f1958f2154c538f42040cc1040f049442d697767cfa7346996931d81370c2551d752c52810c9b18fe9e351c212
+DIST skey-1.1.5-patches-4.tar.xz 33952 SHA256 7a8e8c4a85c8982dbd0bcb8a45e7c4f2b45da94af7d92d515eeb6e7cb29a6999 SHA512 5789893cfeec0d31b0294f287aad688358dcf73a21663626ebc39209e1af43795669b6141cc80e226257f1dd574143f17f54a5b081bf6f9790ca287809fcd00d WHIRLPOOL 51d5002f58df0428535f2819636a896c1645098a9a71ce403a37623313b5385ee2698aed642cba5e5f30c9b211040a86dd71cf44b6798c76947a96634982c69f
DIST skey-1.1.5.tar.bz2 61911 SHA256 e21bcb7c618c0bc87a72d8f0f097d7517fffa4e881a0f295ee1ce2a7dccf4aef SHA512 4cbddc7e31134d5e23801a9b07de0d05c8357aaa8dddfb8426fceead3f54e539f77204f78a08b2a93890ef2f4f807a2208080f58f80818afa1b8cd4884b1fb37 WHIRLPOOL abf141fd679deeaee3f3883cd3076620c84e8775ecacc8f87d561c1812beae55299989f37ec331633bac29e25b4b8d145dc590ef119c73a137d8790815bb13f2
diff --git a/sys-auth/skey/skey-1.1.5-r10.ebuild b/sys-auth/skey/skey-1.1.5-r10.ebuild
new file mode 100644
index 000000000000..a5c82b777f7c
--- /dev/null
+++ b/sys-auth/skey/skey-1.1.5-r10.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+inherit toolchain-funcs readme.gentoo
+
+DESCRIPTION="Linux Port of OpenBSD Single-key Password System"
+HOMEPAGE="http://www.openbsd.org/faq/faq8.html#SKey"
+SRC_URI="mirror://gentoo/${P}.tar.bz2
+ https://dev.gentoo.org/~ulm/distfiles/${P}-patches-4.tar.xz"
+
+LICENSE="BSD MIT RSA BEER-WARE"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE="static-libs"
+
+DEPEND="dev-lang/perl
+ app-arch/xz-utils"
+RDEPEND="dev-lang/perl
+ virtual/perl-Time-Local
+ sys-libs/cracklib"
+
+PATCHES="patch"
+
+src_configure() {
+ tc-export CC
+ econf --sysconfdir=/etc/skey
+}
+
+src_install() {
+ into /
+ dolib.so libskey.so{.${PV},.${PV%.*},.${PV%%.*},}
+
+ into /usr
+ dobin skey skeyinit skeyinfo
+ newbin skeyaudit.sh skeyaudit
+ newsbin skeyprune.pl skeyprune
+
+ dosym skey /usr/bin/otp-md4
+ dosym skey /usr/bin/otp-md5
+ dosym skey /usr/bin/otp-sha1
+
+ if use static-libs; then
+ dolib.a libskey.a
+ gen_usr_ldscript libskey.so
+ fi
+
+ doman skey.1 skeyaudit.1 skeyinfo.1 skeyinit.1 skey.3 skeyprune.8
+
+ insinto /usr/include
+ doins skey.h
+
+ keepdir /etc/skey
+
+ # only root needs to have access to these files.
+ fperms go-rx /etc/skey
+
+ # skeyinit and skeyinfo must be suid root so users
+ # can generate their passwords.
+ fperms u+s,go-r /usr/bin/skeyinit /usr/bin/skeyinfo
+
+ dodoc README CHANGES
+
+ DOC_CONTENTS="For an introduction into using s/key authentication,
+ take a look at the EXAMPLES section from the skey(1) manpage."
+ readme.gentoo_create_doc
+}
+
+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
+
+ readme.gentoo_print_elog
+}