X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Fback-ldap%2Finit.c;h=b98945a7d0bd2a562b69816e90b43ea99a1693a0;hb=06d63200e45686355acfb49aceff6b56857bbb40;hp=33888f6765d8ee43b841765da707e530049ecc8c;hpb=00ac49a1fd4edff795faf81ed890774ca0bdbf58;p=openldap diff --git a/servers/slapd/back-ldap/init.c b/servers/slapd/back-ldap/init.c index 33888f6765..b98945a7d0 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. @@ -32,14 +33,15 @@ #ifdef SLAPD_LDAP_DYNAMIC -void back_ldap_LTX_init_module(int argc, char *argv[]) { - BackendInfo bi; +int back_ldap_LTX_init_module(int argc, char *argv[]) { + BackendInfo bi; - memset( &bi, 0, sizeof(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 */ @@ -70,7 +72,11 @@ 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 = ldap_back_attribute; + bi->bi_chk_referrals = 0; bi->bi_connection_init = 0; bi->bi_connection_destroy = ldap_back_conn_destroy; @@ -102,9 +108,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 ); }