- add missing sasl mutex callbacks.
This commit is contained in:
parent
5c78520e98
commit
94e87563b3
98
autofs-5.0.5-add-sasl-mutex-callbacks.patch
Normal file
98
autofs-5.0.5-add-sasl-mutex-callbacks.patch
Normal file
@ -0,0 +1,98 @@
|
||||
autofs-5.0.5 - add sasl mutex callbacks
|
||||
|
||||
From: Ian Kent <raven@themaw.net>
|
||||
|
||||
We missed the fact that Cyrus SASL requires the user to provide mutex
|
||||
handling functions when being used in a threaded environment.
|
||||
|
||||
Original patch contributed by Kazuhiro Kikuchi (of Fujitsu), slightly
|
||||
modified by myself.
|
||||
---
|
||||
|
||||
CHANGELOG | 1
|
||||
modules/cyrus-sasl.c | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
2 files changed, 58 insertions(+)
|
||||
|
||||
|
||||
--- autofs-5.0.5.orig/CHANGELOG
|
||||
+++ autofs-5.0.5/CHANGELOG
|
||||
@@ -22,6 +22,7 @@
|
||||
- fix disable timeout.
|
||||
- fix strdup() return value check (Leonardo Chiquitto).
|
||||
- fix reconnect get base dn.
|
||||
+- add missing sasl mutex callbacks.
|
||||
|
||||
03/09/2009 autofs-5.0.5
|
||||
-----------------------
|
||||
--- autofs-5.0.5.orig/modules/cyrus-sasl.c
|
||||
+++ autofs-5.0.5/modules/cyrus-sasl.c
|
||||
@@ -944,12 +944,69 @@ void autofs_sasl_dispose(struct lookup_c
|
||||
}
|
||||
}
|
||||
|
||||
+static void *sasl_mutex_new(void)
|
||||
+{
|
||||
+ pthread_mutex_t* mutex;
|
||||
+
|
||||
+ mutex = malloc(sizeof(pthread_mutex_t));
|
||||
+ if (!mutex)
|
||||
+ return 0;
|
||||
+
|
||||
+ pthread_mutex_init(mutex, NULL);
|
||||
+
|
||||
+ return (void *) mutex;
|
||||
+}
|
||||
+
|
||||
+static int sasl_mutex_lock(void *mutex __attribute__((unused)))
|
||||
+{
|
||||
+ int rc;
|
||||
+
|
||||
+ if (!mutex)
|
||||
+ return SASL_FAIL;
|
||||
+
|
||||
+ rc = pthread_mutex_lock((pthread_mutex_t *) mutex);
|
||||
+
|
||||
+ return (rc==0 ? SASL_OK : SASL_FAIL);
|
||||
+}
|
||||
+
|
||||
+static int sasl_mutex_unlock(void *mutex __attribute__((unused)))
|
||||
+{
|
||||
+ int rc;
|
||||
+
|
||||
+ if (!mutex)
|
||||
+ return SASL_FAIL;
|
||||
+
|
||||
+ rc = pthread_mutex_unlock((pthread_mutex_t *) mutex);
|
||||
+
|
||||
+ return (rc==0 ? SASL_OK : SASL_FAIL);
|
||||
+}
|
||||
+
|
||||
+static void sasl_mutex_dispose(void *mutex __attribute__((unused)))
|
||||
+{
|
||||
+ int rc;
|
||||
+
|
||||
+ if (!mutex)
|
||||
+ return;
|
||||
+
|
||||
+ rc = pthread_mutex_destroy((pthread_mutex_t *) mutex);
|
||||
+ if (rc == 0)
|
||||
+ free(mutex);
|
||||
+
|
||||
+ return;
|
||||
+}
|
||||
+
|
||||
/*
|
||||
* Initialize the sasl callbacks, which increments the global
|
||||
* use counter.
|
||||
*/
|
||||
int autofs_sasl_client_init(unsigned logopt)
|
||||
{
|
||||
+
|
||||
+ sasl_set_mutex(sasl_mutex_new,
|
||||
+ sasl_mutex_lock,
|
||||
+ sasl_mutex_unlock,
|
||||
+ sasl_mutex_dispose);
|
||||
+
|
||||
/* Start up Cyrus SASL--only needs to be done at library load. */
|
||||
if (sasl_client_init(callbacks) != SASL_OK) {
|
||||
error(logopt, "sasl_client_init failed");
|
@ -4,7 +4,7 @@
|
||||
Summary: A tool for automatically mounting and unmounting filesystems
|
||||
Name: autofs
|
||||
Version: 5.0.5
|
||||
Release: 19%{?dist}
|
||||
Release: 21%{?dist}
|
||||
Epoch: 1
|
||||
License: GPLv2+
|
||||
Group: System Environment/Daemons
|
||||
@ -32,6 +32,7 @@ Patch19: autofs-5.0.5-fix-random-selection-option.patch
|
||||
Patch20: autofs-5.0.5-fix-disable-timeout.patch
|
||||
Patch21: autofs-5.0.5-fix-strdup-return-value-check.patch
|
||||
Patch22: autofs-5.0.5-fix-reconnect-get-base-dn.patch
|
||||
Patch23: autofs-5.0.5-add-sasl-mutex-callbacks.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
|
||||
Requires: kernel >= 2.6.17
|
||||
@ -95,6 +96,7 @@ echo %{version}-%{release} > .version
|
||||
%patch20 -p1
|
||||
%patch21 -p1
|
||||
%patch22 -p1
|
||||
%patch23 -p1
|
||||
|
||||
%build
|
||||
#CFLAGS="$RPM_OPT_FLAGS" ./configure --prefix=/usr --libdir=%{_libdir}
|
||||
@ -147,6 +149,9 @@ fi
|
||||
%{_libdir}/autofs/
|
||||
|
||||
%changelog
|
||||
* Tue Feb 23 2010 Ian Kent <kpnt@redhat.com> - 1:5.0.5-21
|
||||
- add missing sasl mutex callbacks.
|
||||
|
||||
* Thu Feb 11 2010 Ian Kent <kpnt@redhat.com> - 1:5.0.5-19
|
||||
- fix segfault upon reconnect cannot find valid base dn.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user