[Fedora-directory-commits] ldapserver/ldap/servers/slapd saslbind.c, 1.13, 1.14

Noriko Hosoi (nhosoi) fedora-directory-commits at redhat.com
Thu Nov 10 22:38:01 UTC 2005


Author: nhosoi

Update of /cvs/dirsec/ldapserver/ldap/servers/slapd
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv22242/ldap/servers/slapd

Modified Files:
	saslbind.c 
Log Message:
[172824] Link SASL library dynamically
i1) For non-RHEL platforms, package cyrus sasl library and the supported plugins.
2) by default, cyrus sasl expects to see the plugins in /usr/lib/sasl2. 
Instead, tell sasl to search "../../../lib/sasl2" (relative path from ns-slapd)
for the plugins.



Index: saslbind.c
===================================================================
RCS file: /cvs/dirsec/ldapserver/ldap/servers/slapd/saslbind.c,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- saslbind.c	8 Nov 2005 15:58:22 -0000	1.13
+++ saslbind.c	10 Nov 2005 22:37:54 -0000	1.14
@@ -551,7 +551,18 @@
     return returnvalue;
 }
 
-static sasl_callback_t ids_sasl_callbacks[5] =
+#ifdef CYRUS_SASL
+#if !defined(LINUX)
+static int ids_sasl_getpluginpath(sasl_conn_t *conn, const char **path)
+{
+    static char *pluginpath = "../../../lib/sasl2";
+    *path = pluginpath;
+    return SASL_OK;
+}
+#endif
+#endif
+
+static sasl_callback_t ids_sasl_callbacks[] =
 {
     {
       SASL_CB_GETOPT,
@@ -577,6 +588,19 @@
       (IFP) ids_sasl_canon_user,
       NULL
     },
+#ifdef CYRUS_SASL
+    /* On Linux: we use system sasl and plugins are found in the default path
+     * /usr/lib/sasl2
+     * On other platforms: we need to tell cyrus sasl where they are localted.
+     */
+#if !defined(LINUX)
+    {
+      SASL_CB_GETPATH,
+      (IFP) ids_sasl_getpluginpath,
+      NULL
+    },
+#endif
+#endif
     {
       SASL_CB_LIST_END,
       (IFP) NULL,




More information about the Fedora-directory-commits mailing list