summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDiego Elio Pettenò <flameeyes@gentoo.org>2009-06-15 13:31:56 +0000
committerDiego Elio Pettenò <flameeyes@gentoo.org>2009-06-15 13:31:56 +0000
commit83a20d36e8f8d528d20e5a5be376d4614f72d88a (patch)
treeac35ff74b145256165ca357247bb4b254cded000
parentRemove old. (diff)
downloadgentoo-2-83a20d36e8f8d528d20e5a5be376d4614f72d88a.tar.gz
gentoo-2-83a20d36e8f8d528d20e5a5be376d4614f72d88a.tar.bz2
gentoo-2-83a20d36e8f8d528d20e5a5be376d4614f72d88a.zip
Add a patch to fix sudo segfault (bug #273785).
(Portage version: 2.2_rc33/cvs/Linux x86_64)
-rw-r--r--sys-auth/pam_mount/ChangeLog8
-rw-r--r--sys-auth/pam_mount/files/pam_mount-1.25-nullsetenv.patch34
-rw-r--r--sys-auth/pam_mount/pam_mount-1.25-r1.ebuild43
3 files changed, 84 insertions, 1 deletions
diff --git a/sys-auth/pam_mount/ChangeLog b/sys-auth/pam_mount/ChangeLog
index 4dc9e43035e6..887677137aa0 100644
--- a/sys-auth/pam_mount/ChangeLog
+++ b/sys-auth/pam_mount/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for sys-auth/pam_mount
# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-auth/pam_mount/ChangeLog,v 1.32 2009/05/24 18:58:01 hanno Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-auth/pam_mount/ChangeLog,v 1.33 2009/06/15 13:31:56 flameeyes Exp $
+
+*pam_mount-1.25-r1 (15 Jun 2009)
+
+ 15 Jun 2009; Diego E. Pettenò <flameeyes@gentoo.org>
+ +pam_mount-1.25-r1.ebuild, +files/pam_mount-1.25-nullsetenv.patch:
+ Add a patch to fix sudo segfault (bug #273785).
*pam_mount-1.25 (24 May 2009)
diff --git a/sys-auth/pam_mount/files/pam_mount-1.25-nullsetenv.patch b/sys-auth/pam_mount/files/pam_mount-1.25-nullsetenv.patch
new file mode 100644
index 000000000000..fe41263e87a6
--- /dev/null
+++ b/sys-auth/pam_mount/files/pam_mount-1.25-nullsetenv.patch
@@ -0,0 +1,34 @@
+Index: pam_mount-1.25/src/pam_mount.c
+===================================================================
+--- pam_mount-1.25.orig/src/pam_mount.c
++++ pam_mount-1.25/src/pam_mount.c
+@@ -445,7 +445,7 @@ PAM_EXTERN EXPORT_SYMBOL int pam_sm_open
+ {
+ struct vol *vol;
+ int ret;
+- unsigned int krb5_set;
++ char *krb5;
+ char *system_authtok = NULL;
+ const void *tmp;
+ int getval;
+@@ -461,8 +461,9 @@ PAM_EXTERN EXPORT_SYMBOL int pam_sm_open
+ * Get the Kerberos CCNAME so we can make it available to the
+ * mount command later on.
+ */
+- krb5_set = getenv("KRB5CCNAME") != NULL;
+- if (setenv("KRB5CCNAME", pam_getenv(pamh, "KRB5CCNAME"), 1) < 0)
++ krb5 = pam_getenv(pamh, "KRB5CCNAME");
++ if (krb5 != NULL &&
++ setenv("KRB5CCNAME", krb5, 1) < 0)
+ l0g("KRB5CCNAME setenv failed\n");
+
+ /* Store initialized config as PAM data */
+@@ -539,7 +540,7 @@ PAM_EXTERN EXPORT_SYMBOL int pam_sm_open
+ }
+ }
+ memset(system_authtok, 0, strlen(system_authtok));
+- if (krb5_set)
++ if (krb5 != NULL)
+ unsetenv("KRB5CCNAME");
+ modify_pm_count(&Config, Config.user, "1");
+ envpath_restore();
diff --git a/sys-auth/pam_mount/pam_mount-1.25-r1.ebuild b/sys-auth/pam_mount/pam_mount-1.25-r1.ebuild
new file mode 100644
index 000000000000..ade68faca21d
--- /dev/null
+++ b/sys-auth/pam_mount/pam_mount-1.25-r1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-auth/pam_mount/pam_mount-1.25-r1.ebuild,v 1.1 2009/06/15 13:31:56 flameeyes Exp $
+
+inherit multilib eutils
+
+DESCRIPTION="A PAM module that can mount volumes for a user session"
+HOMEPAGE="http://pam-mount.sourceforge.net"
+SRC_URI="mirror://sourceforge/pam-mount/${P}.tar.bz2"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+
+IUSE="crypt"
+DEPEND=">=sys-libs/pam-0.99
+ dev-libs/openssl
+ >=sys-libs/libhx-2.7
+ dev-libs/libxml2
+ dev-util/pkgconfig"
+RDEPEND=">=sys-libs/pam-0.99
+ dev-libs/openssl
+ >=sys-libs/libhx-2.7
+ dev-libs/libxml2
+ >=sys-fs/cryptsetup-1.0.5
+ sys-process/lsof"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ epatch "${FILESDIR}"/${P}-nullsetenv.patch
+}
+
+src_compile() {
+ econf --with-slibdir="/$(get_libdir)" || die "econf failed"
+ emake || die "emake failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "make install failed"
+ dodoc doc/*.txt || die "dodoc failed"
+}