]> git.sur5r.net Git - openldap/commitdiff
inherit controls
authorPierangelo Masarati <ando@openldap.org>
Wed, 26 Jan 2005 08:57:39 +0000 (08:57 +0000)
committerPierangelo Masarati <ando@openldap.org>
Wed, 26 Jan 2005 08:57:39 +0000 (08:57 +0000)
servers/slapd/back-relay/init.c

index 9cb0a91a756a5cc6016a65c4e0d2fc1db52f019d..7ae96aecbb6fe800331698c65531838837add21d 100644 (file)
@@ -97,10 +97,20 @@ relay_back_db_open( Backend *be )
 
        if ( !BER_BVISNULL( &ri->ri_realsuffix ) ) {
                ri->ri_bd = select_backend( &ri->ri_realsuffix, 0, 1 );
+
                /* must be there: it was during config! */
                assert( ri->ri_bd );
 
-               /* FIXME: (somehow) copy supported controls ? */
+               /* inherit controls */
+               if ( ri->ri_bd ) {
+                       be->be_controls = ldap_charray_dup( ri->ri_bd->be_controls );
+               }
+
+       } else {
+               /* inherit all? */
+               if ( frontendDB->be_controls ) {
+                       be->be_controls = ldap_charray_dup( frontendDB->be_controls );
+               }
        }
 
        return 0;