diff options
Diffstat (limited to 'community/autofs')
-rw-r--r-- | community/autofs/0001-autofs-5.0.5-include-krb5-library.patch | 206 | ||||
-rw-r--r-- | community/autofs/0002-autofs-5.0.5-remove-ERR_remove_state-openssl-call.patch | 59 | ||||
-rw-r--r-- | community/autofs/PKGBUILD | 11 | ||||
-rw-r--r-- | community/autofs/heimdal.patch | 44 |
4 files changed, 274 insertions, 46 deletions
diff --git a/community/autofs/0001-autofs-5.0.5-include-krb5-library.patch b/community/autofs/0001-autofs-5.0.5-include-krb5-library.patch new file mode 100644 index 000000000..572ca97fd --- /dev/null +++ b/community/autofs/0001-autofs-5.0.5-include-krb5-library.patch @@ -0,0 +1,206 @@ +From e467755fac27630730be25c4b41e5d0cfcd89c67 Mon Sep 17 00:00:00 2001 +From: Ian Kent <raven@themaw.net> +Date: Tue, 10 Aug 2010 15:48:21 +0800 +Subject: [PATCH 1/2] autofs-5.0.5 - include krb5 library + +Since the Cyrus SASL module calls Kerberos directly we should be +linking against the Kerberos librarys. +--- + Makefile.conf.in | 2 + + aclocal.m4 | 19 +++++++++++++++ + configure | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++++- + configure.in | 5 +++- + modules/Makefile | 4 +- + 5 files changed, 93 insertions(+), 4 deletions(-) + +diff --git a/Makefile.conf.in b/Makefile.conf.in +index f0287c3..a9bcf8c 100644 +--- a/Makefile.conf.in ++++ b/Makefile.conf.in +@@ -31,6 +31,8 @@ XML_FLAGS = @XML_FLAGS@ + SASL = @HAVE_SASL@ + LIBSASL= @LIBSASL@ + SASL_FLAGS = @SASL_FLAGS@ ++KRB5_LIBS=@KRB5_LIBS@ ++KRB5_FLAGS=@KRB5_FLAGS@ + + # NIS+ support: yes (1) no (0) + NISPLUS = @HAVE_NISPLUS@ +diff --git a/aclocal.m4 b/aclocal.m4 +index e7f1a30..750a159 100644 +--- a/aclocal.m4 ++++ b/aclocal.m4 +@@ -215,6 +215,25 @@ else + fi]) + + dnl -------------------------------------------------------------------------- ++dnl AF_CHECK_KRB5 ++dnl ++dnl Check for Kerberos 5 ++dnl -------------------------------------------------------------------------- ++AC_DEFUN([AF_CHECK_KRB5], ++[AC_PATH_PROGS(KRB5_CONFIG, krb5-config, no) ++AC_MSG_CHECKING(for Kerberos library) ++if test "$KRB5_CONFIG" = "no" ++then ++ AC_MSG_RESULT(no) ++ HAVE_KRB5=0 ++else ++ AC_MSG_RESULT(yes) ++ HAVE_KRB5=1 ++ KRB5_LIBS=`$KRB5_CONFIG --libs` ++ KRB5_FLAGS=`$KRB5_CONFIG --cflags` ++fi]) ++ ++dnl -------------------------------------------------------------------------- + dnl AF_CHECK_LIBHESIOD + dnl + dnl Check for lib hesiod +diff --git a/configure b/configure +index 159f25f..500411c 100755 +--- a/configure ++++ b/configure +@@ -640,6 +640,8 @@ ac_subst_vars='LTLIBOBJS + LIBOBJS + DAEMON_LDFLAGS + DAEMON_CFLAGS ++KRB5_FLAGS ++KRB5_LIBS + LIBSASL + HAVE_SASL + SASL_FLAGS +@@ -657,6 +659,7 @@ LIBHESIOD + HAVE_HESIOD + LIBRESOLV + LIBNSL ++KRB5_CONFIG + XML_CONFIG + PATH_RPCGEN + RPCGEN +@@ -3723,7 +3726,7 @@ $as_echo "no" >&6; } + fi + fi + +-# LDAP SASL auth need libxml ++# LDAP SASL auth needs libxml and Kerberos + for ac_prog in xml2-config + do + # Extract the first word of "$ac_prog", so it can be a program name with args. +@@ -3801,6 +3804,66 @@ _ACEOF + fi + fi + fi ++for ac_prog in krb5-config ++do ++ # Extract the first word of "$ac_prog", so it can be a program name with args. ++set dummy $ac_prog; ac_word=$2 ++{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 ++$as_echo_n "checking for $ac_word... " >&6; } ++if test "${ac_cv_path_KRB5_CONFIG+set}" = set; then ++ $as_echo_n "(cached) " >&6 ++else ++ case $KRB5_CONFIG in ++ [\\/]* | ?:[\\/]*) ++ ac_cv_path_KRB5_CONFIG="$KRB5_CONFIG" # Let the user override the test with a path. ++ ;; ++ *) ++ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ++for as_dir in $PATH ++do ++ IFS=$as_save_IFS ++ test -z "$as_dir" && as_dir=. ++ for ac_exec_ext in '' $ac_executable_extensions; do ++ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ++ ac_cv_path_KRB5_CONFIG="$as_dir/$ac_word$ac_exec_ext" ++ $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ++ break 2 ++ fi ++done ++done ++IFS=$as_save_IFS ++ ++ ;; ++esac ++fi ++KRB5_CONFIG=$ac_cv_path_KRB5_CONFIG ++if test -n "$KRB5_CONFIG"; then ++ { $as_echo "$as_me:$LINENO: result: $KRB5_CONFIG" >&5 ++$as_echo "$KRB5_CONFIG" >&6; } ++else ++ { $as_echo "$as_me:$LINENO: result: no" >&5 ++$as_echo "no" >&6; } ++fi ++ ++ ++ test -n "$KRB5_CONFIG" && break ++done ++test -n "$KRB5_CONFIG" || KRB5_CONFIG="no" ++ ++{ $as_echo "$as_me:$LINENO: checking for Kerberos library" >&5 ++$as_echo_n "checking for Kerberos library... " >&6; } ++if test "$KRB5_CONFIG" = "no" ++then ++ { $as_echo "$as_me:$LINENO: result: no" >&5 ++$as_echo "no" >&6; } ++ HAVE_KRB5=0 ++else ++ { $as_echo "$as_me:$LINENO: result: yes" >&5 ++$as_echo "yes" >&6; } ++ HAVE_KRB5=1 ++ KRB5_LIBS=`$KRB5_CONFIG --libs` ++ KRB5_FLAGS=`$KRB5_CONFIG --cflags` ++fi + + # + # glibc/libc 6 new libraries +@@ -5178,6 +5241,8 @@ fi + + + ++ ++ + LDFLAGS="${AF_tmp_ldflags}" + + # +diff --git a/configure.in b/configure.in +index f649a58..70b45e8 100644 +--- a/configure.in ++++ b/configure.in +@@ -144,8 +144,9 @@ AF_CHECK_PROG(RPCGEN, rpcgen, , $searchpath) + # + AF_SLOPPY_MOUNT() + +-# LDAP SASL auth need libxml ++# LDAP SASL auth needs libxml and Kerberos + AF_CHECK_LIBXML() ++AF_CHECK_KRB5() + + # + # glibc/libc 6 new libraries +@@ -274,6 +275,8 @@ AC_SUBST(XML_LIBS) + AC_SUBST(SASL_FLAGS) + AC_SUBST(HAVE_SASL) + AC_SUBST(LIBSASL) ++AC_SUBST(KRB5_LIBS) ++AC_SUBST(KRB5_FLAGS) + LDFLAGS="${AF_tmp_ldflags}" + + # +diff --git a/modules/Makefile b/modules/Makefile +index 13b3bd8..2389196 100644 +--- a/modules/Makefile ++++ b/modules/Makefile +@@ -42,8 +42,8 @@ ifeq ($(LDAP), 1) + MODS += lookup_ldap.so + ifeq ($(SASL), 1) + SASL_OBJ = cyrus-sasl.o +- LDAP_FLAGS += $(SASL_FLAGS) $(XML_FLAGS) -DLDAP_THREAD_SAFE +- LIBLDAP += $(LIBSASL) $(XML_LIBS) ++ LDAP_FLAGS += $(SASL_FLAGS) $(XML_FLAGS) $(KRB5_FLAGS) -DLDAP_THREAD_SAFE ++ LIBLDAP += $(LIBSASL) $(XML_LIBS) $(KRB5_LIBS) + endif + endif + +-- +1.7.5.1 + diff --git a/community/autofs/0002-autofs-5.0.5-remove-ERR_remove_state-openssl-call.patch b/community/autofs/0002-autofs-5.0.5-remove-ERR_remove_state-openssl-call.patch new file mode 100644 index 000000000..e4e480e82 --- /dev/null +++ b/community/autofs/0002-autofs-5.0.5-remove-ERR_remove_state-openssl-call.patch @@ -0,0 +1,59 @@ +From 205c305922cdbded91ff8fadbaad7959bdb497bc Mon Sep 17 00:00:00 2001 +From: Ian Kent <raven@themaw.net> +Date: Wed, 11 Aug 2010 09:33:09 +0800 +Subject: [PATCH 2/2] autofs-5.0.5 - remove ERR_remove_state() openssl call + +autofs should never have had to use ERR_remove_state() so remove that call. + +Lukas: Resolve a conflict in "CHANGELOG" that occured due to cherry +picking Kerberos related patches from the 5.0.6 development branch. + +Conflicts: + + CHANGELOG + +Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de> +--- + CHANGELOG | 4 ++++ + modules/lookup_ldap.c | 12 +----------- + 2 files changed, 5 insertions(+), 11 deletions(-) + +diff --git a/CHANGELOG b/CHANGELOG +index e734cb3..1a20a81 100644 +--- a/CHANGELOG ++++ b/CHANGELOG +@@ -1,3 +1,7 @@ ++??/??/20?? autofs-5.0.6 ++----------------------- ++- remove ERR_remove_state() openssl call. ++ + 03/09/2009 autofs-5.0.5 + ----------------------- + - fix dumb libxml2 check +diff --git a/modules/lookup_ldap.c b/modules/lookup_ldap.c +index 2ecf5fe..1221c2c 100644 +--- a/modules/lookup_ldap.c ++++ b/modules/lookup_ldap.c +@@ -168,18 +168,8 @@ int unbind_ldap_connection(unsigned logopt, LDAP *ldap, struct lookup_context *c + int rv; + + #ifdef WITH_SASL +- /* +- * The OpenSSL library can't handle having its message and error +- * string database loaded multiple times and segfaults if the +- * TLS environment is not reset at the right times. As there +- * is no ldap_stop_tls call in the openldap library we have +- * to do the job ourselves, here and in lookup_done when the +- * module is closed. +- */ +- if (ctxt->use_tls == LDAP_TLS_RELEASE) { +- ERR_remove_state(0); ++ if (ctxt->use_tls == LDAP_TLS_RELEASE) + ctxt->use_tls = LDAP_TLS_INIT; +- } + autofs_sasl_unbind(ctxt); + #endif + +-- +1.7.5.1 + diff --git a/community/autofs/PKGBUILD b/community/autofs/PKGBUILD index 26894dd02..743fde93c 100644 --- a/community/autofs/PKGBUILD +++ b/community/autofs/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 46345 2011-05-05 11:57:37Z spupykin $ +# $Id: PKGBUILD 47057 2011-05-15 17:16:45Z lfleischer $ # Maintainer: Lukas Fleischer <archlinux at cryptocrack dot de> # Contributor: Andrea Scarpino <andrea@archlinux.org> # Contributor: Dale Blount <dale@archlinux.org> @@ -6,7 +6,7 @@ pkgname=autofs pkgver=5.0.5 -pkgrel=6 +pkgrel=7 pkgdesc='A kernel-based automounter for Linux.' arch=('i686' 'x86_64' 'mips64el') url='http://freshmeat.net/projects/autofs' @@ -18,11 +18,15 @@ backup=('etc/autofs/auto.master' options=(!makeflags) install='autofs.install' source=("http://www.kernel.org/pub/linux/daemons/${pkgname}/v5/${pkgname}-${pkgver}.tar.bz2" + "0001-${pkgname}-5.0.5-include-krb5-library.patch" + "0002-${pkgname}-5.0.5-remove-ERR_remove_state-openssl-call.patch" 'autofs' 'autofs.conf.d' 'auto.master' 'auto.misc') md5sums=('a1d262cb6ebef0c2dd0fe22232fb3d5a' + '478737b8e3e79365a0e183aa95aab307' + 'e347999e5dffe142e7e57b067d3d9e9f' 'e307bf6d2638e46eeb916cf42fe029b2' '47f597c870410055e0fdb66103daf928' 'a6cefb591e77b31b79dbb7243646c96b' @@ -34,6 +38,9 @@ build() { sed -i "s:SUBDIRS = lib daemon modules man samples:SUBDIRS = lib daemon modules man:" \ Makefile.rules + patch -p1 -i "../0001-${pkgname}-5.0.5-include-krb5-library.patch" + patch -p1 -i "../0002-${pkgname}-5.0.5-remove-ERR_remove_state-openssl-call.patch" + ./configure --prefix=/usr --sysconfdir=/etc/autofs --with-mapdir=/etc/autofs --without-hesiod \ --enable-ignore-busy make diff --git a/community/autofs/heimdal.patch b/community/autofs/heimdal.patch deleted file mode 100644 index 4aa321834..000000000 --- a/community/autofs/heimdal.patch +++ /dev/null @@ -1,44 +0,0 @@ ---- autofs-5.0.5/modules/cyrus-sasl.c~ 2010-03-03 01:38:41.582901786 +0100 -+++ autofs-5.0.5/modules/cyrus-sasl.c 2010-03-03 01:41:32.313704755 +0100 -@@ -66,6 +66,15 @@ - #endif - #endif - -+/** -+ * The type of a principal is different for MIT Krb5 and Heimdal. -+ * These macros are provided by Heimdal, and introduced here for MIT. -+ */ -+#ifndef krb5_realm_length -+#define krb5_realm_length(r) ((r).length) -+#define krb5_realm_data(r) ((r).data) -+#endif -+ - /* - * Once a krb5 credentials cache is setup, we need to set the KRB5CCNAME - * environment variable so that the library knows where to find it. -@@ -452,11 +452,11 @@ - - /* setup a principal for the ticket granting service */ - ret = krb5_build_principal_ext(ctxt->krb5ctxt, &tgs_princ, -- krb5_princ_realm(ctxt->krb5ctxt, krb5_client_princ)->length, -- krb5_princ_realm(ctxt->krb5ctxt, krb5_client_princ)->data, -+ krb5_realm_length(*krb5_principal_get_realm(ctxt->krb5ctxt, krb5_client_princ)), -+ krb5_realm_data(*krb5_principal_get_realm(ctxt->krb5ctxt, krb5_client_princ)), - strlen(KRB5_TGS_NAME), KRB5_TGS_NAME, -- krb5_princ_realm(ctxt->krb5ctxt, krb5_client_princ)->length, -- krb5_princ_realm(ctxt->krb5ctxt, krb5_client_princ)->data, -+ krb5_realm_length(*krb5_principal_get_realm(ctxt->krb5ctxt, krb5_client_princ)), -+ krb5_realm_data(*krb5_principal_get_realm(ctxt->krb5ctxt, krb5_client_princ)), - 0); - if (ret) { - error(logopt, ---- autofs-5.0.5/modules/Makefile~ 2010-03-03 01:42:18.532868539 +0100 -+++ autofs-5.0.5/modules/Makefile 2010-03-03 01:42:35.360367371 +0100 -@@ -43,7 +43,7 @@ - ifeq ($(SASL), 1) - SASL_OBJ = cyrus-sasl.o - LDAP_FLAGS += $(SASL_FLAGS) $(XML_FLAGS) -DLDAP_THREAD_SAFE -- LIBLDAP += $(LIBSASL) $(XML_LIBS) -+ LIBLDAP += $(LIBSASL) $(XML_LIBS) -lkrb5 - endif - endif
\ No newline at end of file |