From: Howard Chu Date: Thu, 16 Feb 2006 06:48:14 +0000 (+0000) Subject: Import ITS#4401 fix from HEAD X-Git-Tag: OPENLDAP_REL_ENG_2_3_20~12 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=d04e8e108df1555412ef7581e2f9ef3625389f6d;p=openldap Import ITS#4401 fix from HEAD --- diff --git a/CHANGES b/CHANGES index ba30718391..a27bc8107c 100644 --- a/CHANGES +++ b/CHANGES @@ -8,6 +8,7 @@ OpenLDAP 2.3.20 Engineering Fixed slapd context CSN not updating issue (ITS#4384) Fixed slapd non-read/write epoll event handling (ITS#4395) Fixed slapd syncrepl de-normalize UUID issue + Fixed slapd syncrepl dynamic reconfig issue (ITS#4401) Added slapd syncrepl log messages (ITS#4369) Added slapd permissive modify/increment support Fixed slapd connectionless LDAP support diff --git a/servers/slapd/syncrepl.c b/servers/slapd/syncrepl.c index 34960346b2..ab6fd7efdb 100644 --- a/servers/slapd/syncrepl.c +++ b/servers/slapd/syncrepl.c @@ -2582,6 +2582,16 @@ avl_ber_bvfree( void *v_bv ) void syncinfo_free( syncinfo_t *sie ) { + if ( sie->si_ld ) { + if ( sie->si_conn_setup ) { + ber_socket_t s; + ldap_get_option( sie->si_ld, LDAP_OPT_DESC, &s ); + connection_client_stop( s ); + sie->si_conn_setup = 0; + } + ldap_unbind_ext( sie->si_ld, NULL, NULL ); + } + ldap_pvt_thread_mutex_destroy( &sie->si_mutex ); bindconf_free( &sie->si_bindconf ); @@ -2637,9 +2647,6 @@ syncinfo_free( syncinfo_t *sie ) if ( sie->si_presentlist ) { avl_free( sie->si_presentlist, avl_ber_bvfree ); } - if ( sie->si_ld ) { - ldap_unbind_ext( sie->si_ld, NULL, NULL ); - } while ( !LDAP_LIST_EMPTY( &sie->si_nonpresentlist )) { struct nonpresent_entry* npe; npe = LDAP_LIST_FIRST( &sie->si_nonpresentlist );