X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Fback-ldap%2Finit.c;h=ac306acef0e0183c48b1b3b107c632da49a06377;hb=51bd73ce7dac183a81e8d848b9b9a60132a1fec1;hp=5367bc1e4b328a32d153a81c24bc9eb641a1d619;hpb=51d1c90887295721530ded3ae86985062a9889da;p=openldap diff --git a/servers/slapd/back-ldap/init.c b/servers/slapd/back-ldap/init.c index 5367bc1e4b..ac306acef0 100644 --- a/servers/slapd/back-ldap/init.c +++ b/servers/slapd/back-ldap/init.c @@ -1,4 +1,5 @@ /* init.c - initialize ldap backend */ +/* $OpenLDAP$ */ /* * Copyright 1999, Howard Chu, All rights reserved. @@ -31,15 +32,16 @@ #include "back-ldap.h" #ifdef SLAPD_LDAP_DYNAMIC -#include -G_MODULE_EXPORT void init_module(int argc, char *argv[]) { - BackendInfo bi; +int back_ldap_LTX_init_module(int argc, char *argv[]) { + BackendInfo bi; - bi.bi_type = "ldap"; - bi.bi_init = ldap_back_initialize; + memset( &bi, '\0', sizeof(bi) ); + bi.bi_type = "ldap"; + bi.bi_init = ldap_back_initialize; - backend_add(&bi); + backend_add(&bi); + return 0; } #endif /* SLAPD_LDAP_DYNAMIC */ @@ -61,7 +63,7 @@ ldap_back_initialize( bi->bi_db_destroy = ldap_back_db_destroy; bi->bi_op_bind = ldap_back_bind; - bi->bi_op_unbind = ldap_back_unbind; + bi->bi_op_unbind = 0; bi->bi_op_search = ldap_back_search; bi->bi_op_compare = ldap_back_compare; bi->bi_op_modify = ldap_back_modify; @@ -70,10 +72,20 @@ ldap_back_initialize( bi->bi_op_delete = ldap_back_delete; bi->bi_op_abandon = 0; - bi->bi_acl_group = 0; + bi->bi_extended = 0; + + bi->bi_acl_group = ldap_back_group; + bi->bi_acl_attribute = 0; + bi->bi_chk_referrals = 0; + +#ifdef HAVE_CYRUS_SASL + bi->bi_sasl_authorize = 0; + bi->bi_sasl_getsecret = 0; + bi->bi_sasl_putsecret = 0; +#endif /* HAVE_CYRUS_SASL */ bi->bi_connection_init = 0; - bi->bi_connection_destroy = 0; + bi->bi_connection_destroy = ldap_back_conn_destroy; return 0; } @@ -102,9 +114,17 @@ ldap_back_db_destroy( if (be->be_private) { li = (struct ldapinfo *)be->be_private; - if (li->host) { - free(li->host); - li->host = NULL; + if (li->url) { + free(li->url); + li->url = NULL; + } + if (li->binddn) { + free(li->binddn); + li->binddn = NULL; + } + if (li->bindpw) { + free(li->bindpw); + li->bindpw = NULL; } ldap_pvt_thread_mutex_destroy( &li->conn_mutex ); }