diff --git a/autofs-5.0.5-remove-ERR_remove_state-openssl-call.patch b/autofs-5.0.5-remove-ERR_remove_state-openssl-call.patch new file mode 100644 index 0000000..4f99e21 --- /dev/null +++ b/autofs-5.0.5-remove-ERR_remove_state-openssl-call.patch @@ -0,0 +1,44 @@ +autofs-5.0.5 - remove ERR_remove_state() openssl call + +From: Ian Kent + +autofs should never have had to use ERR_remove_state() so remove that call. +--- + + CHANGELOG | 1 + + modules/lookup_ldap.c | 12 +----------- + 2 files changed, 2 insertions(+), 11 deletions(-) + + +--- autofs-5.0.5.orig/CHANGELOG ++++ autofs-5.0.5/CHANGELOG +@@ -46,6 +46,7 @@ + - remove extra read master map call. + - fix error handing in do_mount_indirect(). + - expire thread use pending mutex. ++- remove ERR_remove_state() openssl call. + + 03/09/2009 autofs-5.0.5 + ----------------------- +--- autofs-5.0.5.orig/modules/lookup_ldap.c ++++ autofs-5.0.5/modules/lookup_ldap.c +@@ -169,18 +169,8 @@ int unbind_ldap_connection(unsigned logo + 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 + diff --git a/autofs.spec b/autofs.spec index 8db5e52..11c8155 100644 --- a/autofs.spec +++ b/autofs.spec @@ -4,7 +4,7 @@ Summary: A tool for automatically mounting and unmounting filesystems Name: autofs Version: 5.0.5 -Release: 28%{?dist} +Release: 29%{?dist} Epoch: 1 License: GPLv2+ Group: System Environment/Daemons @@ -59,6 +59,7 @@ Patch47: autofs-5.0.5-fix-error-handing-in-do_mount_indirect.patch Patch48: autofs-5.0.5-expire-thread-use-pending-mutex.patch Patch49: autofs-5.0.5-include-krb5-library.patch Patch50: autofs-5.0.5-make-verbose-mode-a-little-less-verbose.patch +Patch51: autofs-5.0.5-remove-ERR_remove_state-openssl-call.patch Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: autoconf, hesiod-devel, openldap-devel, bison, flex, libxml2-devel, cyrus-sasl-devel, openssl-devel module-init-tools util-linux nfs-utils e2fsprogs libtirpc-devel Conflicts: cyrus-sasl-lib < 2.1.23-9 @@ -151,6 +152,7 @@ echo %{version}-%{release} > .version %patch48 -p1 %patch49 -p1 %patch50 -p1 +%patch51 -p1 %build #CFLAGS="$RPM_OPT_FLAGS" ./configure --prefix=/usr --libdir=%{_libdir} @@ -203,6 +205,9 @@ fi %{_libdir}/autofs/ %changelog +* Wed Aug 11 2010 Ian Kent - 1:5.0.5-29 +- remove ERR_remove_state() openssl call. + * Tue Aug 10 2010 Ian Kent - 1:5.0.5-28 - remove extra read master map call. - remove extra cache create call in master_add_map_source().