rpms/autofs/F-8 autofs-5.0.2-init-cb-on-load.patch, NONE, 1.1 autofs.spec, 1.237, 1.238
Ian Kent (iankent)
fedora-extras-commits at redhat.com
Thu Mar 20 02:11:43 UTC 2008
- Previous message (by thread): rpms/xorg-x11-drv-sisusb/devel .cvsignore, 1.7, 1.8 sources, 1.7, 1.8 xorg-x11-drv-sisusb.spec, 1.21, 1.22 sisusb-0.8.1-open-is-not-fopen.patch, 1.1, NONE
- Next message (by thread): rpms/kernel/F-8 kernel.spec,1.393,1.394
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: iankent
Update of /cvs/pkgs/rpms/autofs/F-8
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv31280
Modified Files:
autofs.spec
Added Files:
autofs-5.0.2-init-cb-on-load.patch
Log Message:
* Thu Mar 20 2008 Ian Kent <ikent at redhat.com> - 5.0.2-28
- add patch to initialize sasl callbacks unconditionally on autofs
LDAP lookup library load.
autofs-5.0.2-init-cb-on-load.patch:
--- NEW FILE autofs-5.0.2-init-cb-on-load.patch ---
diff -up autofs-5.0.2/include/lookup_ldap.h.init-cb-on-load autofs-5.0.2/include/lookup_ldap.h
--- autofs-5.0.2/include/lookup_ldap.h.init-cb-on-load 2008-03-09 13:50:30.000000000 +0900
+++ autofs-5.0.2/include/lookup_ldap.h 2008-03-09 13:52:52.000000000 +0900
@@ -99,10 +99,12 @@ int unbind_ldap_connection(unsigned logo
int authtype_requires_creds(const char *authtype);
/* cyrus-sasl.c */
+int autofs_sasl_client_init(unsigned logopt);
int autofs_sasl_init(unsigned logopt, LDAP *ldap, struct lookup_context *ctxt);
int autofs_sasl_bind(unsigned logopt, LDAP *ldap, struct lookup_context *ctxt);
void autofs_sasl_unbind(struct lookup_context *ctxt);
-void autofs_sasl_done(struct lookup_context *ctxt);
+void autofs_sasl_dispose(struct lookup_context *ctxt);
+void autofs_sasl_done(void);
#endif
#endif
diff -up autofs-5.0.2/modules/lookup_ldap.c.init-cb-on-load autofs-5.0.2/modules/lookup_ldap.c
--- autofs-5.0.2/modules/lookup_ldap.c.init-cb-on-load 2008-03-09 13:50:30.000000000 +0900
+++ autofs-5.0.2/modules/lookup_ldap.c 2008-03-09 13:58:47.000000000 +0900
@@ -599,7 +599,7 @@ static LDAP *connect_to_server(unsigned
if (!do_bind(logopt, ldap, ctxt)) {
unbind_ldap_connection(logopt, ldap, ctxt);
- autofs_sasl_done(ctxt);
+ autofs_sasl_dispose(ctxt);
error(logopt, MODPREFIX "cannot bind to server");
return NULL;
}
@@ -672,7 +672,7 @@ static LDAP *do_reconnect(unsigned logop
list_add_tail(&this->list, ctxt->uri);
#ifdef WITH_SASL
- autofs_sasl_done(ctxt);
+ autofs_sasl_dispose(ctxt);
#endif
/* Current server failed connect, try the rest */
@@ -1330,6 +1330,13 @@ int lookup_init(const char *mapfmt, int
free_context(ctxt);
return 1;
}
+
+ /* Init the sasl callbacks */
+ if (!autofs_sasl_client_init(LOGOPT_NONE)) {
+ error(LOGOPT_ANY, "failed to init sasl client");
+ free_context(ctxt);
+ return 1;
+ }
#endif
if (ctxt->server || !ctxt->uri) {
@@ -2640,7 +2647,8 @@ int lookup_done(void *context)
struct lookup_context *ctxt = (struct lookup_context *) context;
int rv = close_parse(ctxt->parse);
#ifdef WITH_SASL
- autofs_sasl_done(ctxt);
+ autofs_sasl_dispose(ctxt);
+ autofs_sasl_done();
#endif
free_context(ctxt);
return rv;
diff -up autofs-5.0.2/modules/cyrus-sasl.c.init-cb-on-load autofs-5.0.2/modules/cyrus-sasl.c
--- autofs-5.0.2/modules/cyrus-sasl.c.init-cb-on-load 2008-03-09 13:50:30.000000000 +0900
+++ autofs-5.0.2/modules/cyrus-sasl.c 2008-03-09 13:56:59.000000000 +0900
@@ -76,7 +76,6 @@ static const char *default_client = "aut
static pthread_mutex_t krb5cc_mutex = PTHREAD_MUTEX_INITIALIZER;
static unsigned int krb5cc_in_use = 0;
-static unsigned int init_callbacks = 1;
static int sasl_log_func(void *, int, const char *);
static int getpass_func(sasl_conn_t *, void *, int, sasl_secret_t **);
static int getuser_func(void *, int, const char **, unsigned *);
@@ -878,13 +877,6 @@ autofs_sasl_init(unsigned logopt, LDAP *
{
sasl_conn_t *conn;
- /* Start up Cyrus SASL--only needs to be done once. */
- if (init_callbacks && sasl_client_init(callbacks) != SASL_OK) {
- error(logopt, "sasl_client_init failed");
- return -1;
- }
- init_callbacks = 0;
-
sasl_auth_id = ctxt->user;
sasl_auth_secret = ctxt->secret;
@@ -916,8 +908,7 @@ autofs_sasl_init(unsigned logopt, LDAP *
* Destructor routine. This should be called when finished with an ldap
* session.
*/
-void
-autofs_sasl_done(struct lookup_context *ctxt)
+void autofs_sasl_dispose(struct lookup_context *ctxt)
{
int status, ret;
@@ -953,3 +944,28 @@ autofs_sasl_done(struct lookup_context *
ctxt->kinit_successful = 0;
}
}
+
+/*
+ * Initialize the sasl callbacks, which increments the global
+ * use counter.
+ */
+int autofs_sasl_client_init(unsigned logopt)
+{
+ /* 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");
+ return 0;
+ }
+ return 1;
+}
+
+/*
+ * Decrement the library reference count and free resources if
+ * we are the last to close the library.
+ */
+void autofs_sasl_done(void)
+{
+ sasl_done();
+ return;
+}
+
Index: autofs.spec
===================================================================
RCS file: /cvs/pkgs/rpms/autofs/F-8/autofs.spec,v
retrieving revision 1.237
retrieving revision 1.238
diff -u -r1.237 -r1.238
--- autofs.spec 14 Feb 2008 07:31:12 -0000 1.237
+++ autofs.spec 20 Mar 2008 02:11:06 -0000 1.238
@@ -4,7 +4,7 @@
Summary: A tool for automatically mounting and unmounting filesystems
Name: autofs
Version: 5.0.2
-Release: 27
+Release: 28
Epoch: 1
License: GPL
Group: System Environment/Daemons
@@ -80,6 +80,7 @@
Patch67: autofs-5.0.3-dont-fail-on-empty-master-fix-2.patch
Patch68: autofs-5.0.3-expire-works-too-hard.patch
Patch69: autofs-5.0.3-unlink-mount-return-fix.patch
+Patch70: autofs-5.0.2-init-cb-on-load.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
Conflicts: kernel < 2.6.17
@@ -191,6 +192,7 @@
%patch67 -p1
%patch68 -p1
%patch69 -p1
+%patch70 -p1
%build
#CFLAGS="$RPM_OPT_FLAGS" ./configure --prefix=/usr --libdir=%{_libdir}
@@ -243,6 +245,10 @@
%{_libdir}/autofs/
%changelog
+* Thu Mar 20 2008 Ian Kent <ikent at redhat.com> - 5.0.2-28
+- add patch to initialize sasl callbacks unconditionally on autofs
+ LDAP lookup library load.
+
* Thu Feb 14 2008 Ian Kent <ikent at redhat.com> - 5.0.2-27
- re-order and update patches to sync with upstream.
- located missing patch.
- Previous message (by thread): rpms/xorg-x11-drv-sisusb/devel .cvsignore, 1.7, 1.8 sources, 1.7, 1.8 xorg-x11-drv-sisusb.spec, 1.21, 1.22 sisusb-0.8.1-open-is-not-fopen.patch, 1.1, NONE
- Next message (by thread): rpms/kernel/F-8 kernel.spec,1.393,1.394
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the fedora-extras-commits
mailing list