From: Dave West Date: Fri, 5 Oct 2007 20:28:09 +0000 (+0000) Subject: Moved config check for ldap into ldap init. X-Git-Tag: v7.86~3014 X-Git-Url: https://code.citadel.org/?a=commitdiff_plain;h=27b04885f99edf2617c388ded16dc499efdee51a;p=citadel.git Moved config check for ldap into ldap init. We need a global config changed hook of some description so that the server does not need to be restarted when ldap is enabled/disabled. --- diff --git a/citadel/modules/ldap/serv_ldap.c b/citadel/modules/ldap/serv_ldap.c index 018a1f845..55af94521 100644 --- a/citadel/modules/ldap/serv_ldap.c +++ b/citadel/modules/ldap/serv_ldap.c @@ -417,16 +417,15 @@ int CtdlDeleteFromLdap(char *cn, char *ou, void **object) CTDL_MODULE_INIT(ldap) { #ifdef HAVE_LDAP - CtdlRegisterCleanupHook(serv_ldap_cleanup); - CtdlRegisterDirectoryServiceFunc(CtdlDeleteFromLdap, DIRECTORY_USER_DEL, "ldap"); - CtdlRegisterDirectoryServiceFunc(CtdlCreateLdapHostOU, DIRECTORY_CREATE_HOST, "ldap"); - CtdlRegisterDirectoryServiceFunc(CtdlCreateLdapObject, DIRECTORY_CREATE_OBJECT, "ldap"); - CtdlRegisterDirectoryServiceFunc(CtdlAddLdapAttr, DIRECTORY_ATTRIB_ADD, "ldap"); - CtdlRegisterDirectoryServiceFunc(CtdlSaveLdapObject, DIRECTORY_SAVE_OBJECT, "ldap"); - CtdlRegisterDirectoryServiceFunc(CtdlFreeLdapObject, DIRECTORY_FREE_OBJECT, "ldap"); - - - if (!IsEmptyStr(config.c_ldap_host)) { + if (!IsEmptyStr(config.c_ldap_base_dn)) + { + CtdlRegisterCleanupHook(serv_ldap_cleanup); + CtdlRegisterDirectoryServiceFunc(CtdlDeleteFromLdap, DIRECTORY_USER_DEL, "ldap"); + CtdlRegisterDirectoryServiceFunc(CtdlCreateLdapHostOU, DIRECTORY_CREATE_HOST, "ldap"); + CtdlRegisterDirectoryServiceFunc(CtdlCreateLdapObject, DIRECTORY_CREATE_OBJECT, "ldap"); + CtdlRegisterDirectoryServiceFunc(CtdlAddLdapAttr, DIRECTORY_ATTRIB_ADD, "ldap"); + CtdlRegisterDirectoryServiceFunc(CtdlSaveLdapObject, DIRECTORY_SAVE_OBJECT, "ldap"); + CtdlRegisterDirectoryServiceFunc(CtdlFreeLdapObject, DIRECTORY_FREE_OBJECT, "ldap"); CtdlConnectToLdap(); } diff --git a/citadel/modules/vcard/serv_vcard.c b/citadel/modules/vcard/serv_vcard.c index 0e8783ddf..5ece955e1 100644 --- a/citadel/modules/vcard/serv_vcard.c +++ b/citadel/modules/vcard/serv_vcard.c @@ -138,7 +138,7 @@ void vcard_extract_internet_addresses(struct CtdlMessage *msg, */ -void ctdl_vcard_to_ldap(struct CtdlMessage *msg, int op) { +void ctdl_vcard_to_directory(struct CtdlMessage *msg, int op) { struct vCard *v = NULL; int i; int num_emails = 0; @@ -357,10 +357,7 @@ void vcard_add_to_directory(long msgnum, void *data) { vcard_extract_internet_addresses(msg, vcard_directory_add_user); } -#ifdef HAVE_LDAP - if (!IsEmptyStr(config.c_ldap_base_dn)) - ctdl_vcard_to_ldap(msg, V2L_WRITE); -#endif + ctdl_vcard_to_directory(msg, V2L_WRITE); CtdlFreeMessage(msg); } @@ -1090,9 +1087,7 @@ void vcard_delete_remove(char *room, long msgnum) { || (!strncasecmp(ptr, "Content-type: text/vcard", 24)) ) { /* Bingo! A vCard is being deleted. */ vcard_extract_internet_addresses(msg, CtdlDirectoryDelUser); -#ifdef HAVE_LDAP - ctdl_vcard_to_ldap(msg, V2L_DELETE); -#endif + ctdl_vcard_to_directory(msg, V2L_DELETE); } ptr = strchr((char *)ptr, '\n'); if (ptr != NULL) ++ptr;