]> git.sur5r.net Git - openldap/commitdiff
unregister controls when removing syncprov, ppolicy, valsort, chain or
authorRalf Haferkamp <ralf@openldap.org>
Thu, 1 Jul 2010 11:51:43 +0000 (11:51 +0000)
committerRalf Haferkamp <ralf@openldap.org>
Thu, 1 Jul 2010 11:51:43 +0000 (11:51 +0000)
sssvlv overlay

servers/slapd/back-ldap/chain.c
servers/slapd/overlays/ppolicy.c
servers/slapd/overlays/sssvlv.c
servers/slapd/overlays/syncprov.c
servers/slapd/overlays/valsort.c

index 6b7036a8334ba53b2c20ad116c6ec608c97d8fb3..a7c51ee39d8aa74dfd27a1876e171fd4601c171d 100644 (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 );
 }
 
index 924071255cf52d6e6e2b5678287fd4fa08beeaef..101a5b6c90e26e499159d40a4ebc4402c196aeaf 100644 (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 ) {
index 10dde1f2498b28cd3d886960e12b86fee49a21ce..5f38e55c6e539dc059d4925e97ac8243e409f652 100644 (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;
index baf3806b3c4c4c9001661637c5fe568a6a933a12..630a789008efe4c0b4ba017c85776f21f58262c6 100644 (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;
index 9f57ece910b491371abc80c90fce3babd3387193..e516e46269141b19efced616cf4e2be34c16cab7 100644 (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 );