]> code.citadel.org Git - citadel.git/blobdiff - citadel/modules/ldap/serv_ldap.c
* serv_ldap.c: upon successful connect to an LDAP server, post an aide message warnin...
[citadel.git] / citadel / modules / ldap / serv_ldap.c
index f684344c459bf497ec7150ba5e25a50e7901dccf..a7551dcbfecd1efcdb4c785ffc5980e13c6b1a6f 100644 (file)
@@ -29,6 +29,7 @@
 #include <sys/wait.h>
 #include <string.h>
 #include <limits.h>
+#include <libcitadel.h>
 #include "citadel.h"
 #include "server.h"
 #include "citserver.h"
@@ -38,7 +39,6 @@
 #include "policy.h"
 #include "database.h"
 #include "serv_ldap.h"
-#include "tools.h"
 
 
 #include "ctdl_module.h"
@@ -107,6 +107,16 @@ int connect_to_ldap(void)
                             "LDAP: Could not connect to server.");
                return -1;
        }
+       else {
+               CtdlAideMessage(
+                       "WARNING: populating an external LDAP address book is deprecated.\n"
+                       "This function will be discontinued in a future release.\n"
+                       "Please migrate to vCard-based address books as soon as possible.\n"
+                       "Visit the Citadel support forum if you need further assistance.\n"
+                       ,
+                       "Warning: LDAP address book is deprecated"
+               );
+       }
 
        ldap_set_option(dirserver, LDAP_OPT_PROTOCOL_VERSION,
                        &ldap_version);
@@ -539,32 +549,35 @@ void ldap_disconnect_timer(void)
  */
 CTDL_MODULE_INIT(ldap)
 {
+       if (!threading)
+       {
 #ifdef HAVE_LDAP
-       if (!IsEmptyStr(config.c_ldap_base_dn)) {
-               CtdlRegisterCleanupHook(serv_ldap_cleanup);
-               CtdlRegisterSessionHook(ldap_disconnect_timer, EVT_TIMER);
-               CtdlRegisterDirectoryServiceFunc(delete_from_ldap,
-                                                DIRECTORY_USER_DEL,
-                                                "ldap");
-               CtdlRegisterDirectoryServiceFunc(create_ldap_host_OU,
-                                                DIRECTORY_CREATE_HOST,
-                                                "ldap");
-               CtdlRegisterDirectoryServiceFunc(create_ldap_object,
-                                                DIRECTORY_CREATE_OBJECT,
-                                                "ldap");
-               CtdlRegisterDirectoryServiceFunc(add_ldap_object,
-                                                DIRECTORY_ATTRIB_ADD,
-                                                "ldap");
-               CtdlRegisterDirectoryServiceFunc(save_ldap_object,
-                                                DIRECTORY_SAVE_OBJECT,
-                                                "ldap");
-               CtdlRegisterDirectoryServiceFunc(free_ldap_object,
-                                                DIRECTORY_FREE_OBJECT,
-                                                "ldap");
-               create_ldap_root();
-       }
+               if (!IsEmptyStr(config.c_ldap_base_dn)) {
+                       CtdlRegisterCleanupHook(serv_ldap_cleanup);
+                       CtdlRegisterSessionHook(ldap_disconnect_timer, EVT_TIMER);
+                       CtdlRegisterDirectoryServiceFunc(delete_from_ldap,
+                                                        DIRECTORY_USER_DEL,
+                                                        "ldap");
+                       CtdlRegisterDirectoryServiceFunc(create_ldap_host_OU,
+                                                        DIRECTORY_CREATE_HOST,
+                                                        "ldap");
+                       CtdlRegisterDirectoryServiceFunc(create_ldap_object,
+                                                        DIRECTORY_CREATE_OBJECT,
+                                                        "ldap");
+                       CtdlRegisterDirectoryServiceFunc(add_ldap_object,
+                                                        DIRECTORY_ATTRIB_ADD,
+                                                        "ldap");
+                       CtdlRegisterDirectoryServiceFunc(save_ldap_object,
+                                                        DIRECTORY_SAVE_OBJECT,
+                                                        "ldap");
+                       CtdlRegisterDirectoryServiceFunc(free_ldap_object,
+                                                        DIRECTORY_FREE_OBJECT,
+                                                        "ldap");
+                       create_ldap_root();
+               }
 #endif                         /* HAVE_LDAP */
-
+       }
+       
        /* return our Subversion id for the Log */
        return "$Id$";
 }