diff --git a/srcpkgs/pam/patches/musl-fix-pam_exec.patch b/srcpkgs/pam/patches/musl-fix-pam_exec.patch new file mode 100644 index 00000000000..b6b999faed7 --- /dev/null +++ b/srcpkgs/pam/patches/musl-fix-pam_exec.patch @@ -0,0 +1,31 @@ +--- ./modules/pam_exec/pam_exec.c.orig ++++ ./modules/pam_exec/pam_exec.c +@@ -103,11 +103,14 @@ + int optargc; + const char *logfile = NULL; + const char *authtok = NULL; ++ char authtok_buf[PAM_MAX_RESP_SIZE+1]; ++ + pid_t pid; + int fds[2]; + int stdout_fds[2]; + FILE *stdout_file = NULL; + ++ memset(authtok_buf, 0, sizeof(authtok_buf)); + if (argc < 1) { + pam_syslog (pamh, LOG_ERR, + "This module needs at least one argument"); +@@ -178,11 +181,11 @@ + } + + pam_set_item (pamh, PAM_AUTHTOK, resp); +- authtok = strndupa (resp, PAM_MAX_RESP_SIZE); ++ authtok = strncpy(authtok_buf, resp, sizeof(authtok_buf)); + _pam_drop (resp); + } + else +- authtok = strndupa (void_pass, PAM_MAX_RESP_SIZE); ++ authtok = strncpy(authtok_buf, void_pass, sizeof(authtok_buf)); + + if (pipe(fds) != 0) + { diff --git a/srcpkgs/pam/patches/portability-fixes.patch b/srcpkgs/pam/patches/portability-fixes.patch index 2fde63c6c5c..f1839f445c0 100644 --- a/srcpkgs/pam/patches/portability-fixes.patch +++ b/srcpkgs/pam/patches/portability-fixes.patch @@ -93,14 +93,3 @@ #endif if (retval != 0) { if (!opt_silent || opt_debug) ---- configure.in.orig 2014-01-11 13:09:06.207296880 +0100 -+++ configure.in 2014-01-11 13:14:56.237585380 +0100 -@@ -404,7 +404,7 @@ AS_IF([test "x$ac_cv_header_xcrypt_h" = - [crypt_libs="crypt"]) - - BACKUP_LIBS=$LIBS --AC_SEARCH_LIBS([crypt],[$crypt_libs], LIBCRYPT="-l$ac_lib", LIBCRYPT="") -+AC_SEARCH_LIBS([crypt],[$crypt_libs], [test -n "$ac_lib" && LIBCRYPT="-l$ac_lib"], LIBCRYPT="") - AC_CHECK_FUNCS(crypt_r crypt_gensalt_r) - LIBS=$BACKUP_LIBS - AC_SUBST(LIBCRYPT) diff --git a/srcpkgs/pam/template b/srcpkgs/pam/template index 9ad06da3725..a6272234c99 100644 --- a/srcpkgs/pam/template +++ b/srcpkgs/pam/template @@ -1,7 +1,7 @@ # Template file for 'pam' pkgname=pam -version=1.1.8 -revision=10 +version=1.2.1 +revision=1 build_pie=yes wrksrc="Linux-PAM-$version" build_style=gnu-configure @@ -28,10 +28,13 @@ short_desc="A flexible mechanism for authenticating users" maintainer="Juan RP " homepage="http://www.kernel.org/pub/linux/libs/pam/" license="GPL-2" -distfiles="https://fedorahosted.org/releases/l/i/linux-pam/Linux-PAM-${version}.tar.bz2" -checksum=c4b1f23a236d169e2496fea20721578d864ba00f7242d2b41d81050ac87a1e55 +distfiles="http://linux-pam.org/library/Linux-PAM-${version}.tar.bz2" +checksum=342b1211c0d3b203a7df2540a5b03a428a087bd8a48c17e49ae268f992b334d9 pre_configure() { + case "$XBPS_TARGET_MACHINE" in + *-musl) configure_args+=" ac_cv_search_crypt=no";; + esac autoreconf -fi } post_install() {