unregister controls when removing syncprov, ppolicy, valsort, chain or

sssvlv overlay
This commit is contained in:
Ralf Haferkamp 2010-07-01 11:51:43 +00:00
parent 7f70a7aad6
commit c4f0c2cc2b
5 changed files with 19 additions and 0 deletions

View file

@ -1774,6 +1774,11 @@ ldap_chain_db_close(
BackendDB *be,
ConfigReply *cr )
{
#ifdef LDAP_CONTROL_X_CHAINING_BEHAVIOR
#ifdef SLAP_CONFIG_DELETE
overlay_unregister_control( be, LDAP_CONTROL_X_CHAINING_BEHAVIOR );
#endif /* SLAP_CONFIG_DELETE */
#endif /* LDAP_CONTROL_X_CHAINING_BEHAVIOR */
return ldap_chain_db_func( be, db_close );
}

View file

@ -2302,6 +2302,10 @@ ppolicy_close(
slap_overinst *on = (slap_overinst *) be->bd_info;
pp_info *pi = on->on_bi.bi_private;
#ifdef SLAP_CONFIG_DELETE
overlay_unregister_control( be, LDAP_CONTROL_PASSWORDPOLICYREQUEST );
#endif /* SLAP_CONFIG_DELETE */
/* Perhaps backover should provide bi_destroy hooks... */
ov_count--;
if ( ov_count <=0 && pwcons ) {

View file

@ -1191,6 +1191,11 @@ static int sssvlv_db_destroy(
ldap_pvt_thread_mutex_destroy( &sort_conns_mutex );
}
#ifdef SLAP_CONFIG_DELETE
overlay_unregister_control( be, LDAP_CONTROL_SORTREQUEST );
overlay_unregister_control( be, LDAP_CONTROL_VLVREQUEST );
#endif /* SLAP_CONFIG_DELETE */
if ( si ) {
ch_free( si );
on->on_bi.bi_private = NULL;

View file

@ -3049,6 +3049,7 @@ syncprov_db_close(
}
si->si_ops=NULL;
ldap_pvt_thread_mutex_unlock( &si->si_ops_mutex );
overlay_unregister_control( be, LDAP_CONTROL_SYNC );
#endif /* SLAP_CONFIG_DELETE */
return 0;

View file

@ -503,6 +503,10 @@ valsort_destroy(
slap_overinst *on = (slap_overinst *)be->bd_info;
valsort_info *vi = on->on_bi.bi_private, *next;
#ifdef SLAP_CONFIG_DELETE
overlay_unregister_control( be, LDAP_CONTROL_VALSORT );
#endif /* SLAP_CONFIG_DELETE */
for (; vi; vi = next) {
next = vi->vi_next;
ch_free( vi->vi_dn.bv_val );