]> git.sur5r.net Git - openldap/commitdiff
global limits can also be set in "cn=config" (more forITS#6428)
authorRalf Haferkamp <ralf@openldap.org>
Thu, 10 Dec 2009 14:22:26 +0000 (14:22 +0000)
committerRalf Haferkamp <ralf@openldap.org>
Thu, 10 Dec 2009 14:22:26 +0000 (14:22 +0000)
servers/slapd/bconfig.c

index 483a798387ebb85ca256f9bc67c085148896b8d2..78ff127c561bae91c7db75daccb6850556524a87 100644 (file)
@@ -2261,9 +2261,13 @@ ok:
                assert( ad != NULL );
 
                CfEntryInfo *ce = c->ca_entry->e_private;
-               for ( ce=ce->ce_sibs ;ce;ce=ce->ce_sibs) {
+               if ( ce->ce_type == Cft_Global ){
+                       ce = ce->ce_kids;
+               }
+               for (; ce; ce=ce->ce_sibs) {
                        Entry *dbe = ce->ce_entry;
-                       if (! attr_find( dbe->e_attrs, ad ) ) {
+                       if ( (ce->ce_type == Cft_Database) && (ce->ce_be != frontendDB)
+                                       && (!attr_find(dbe->e_attrs, ad)) ) {
                                ce->ce_be->be_def_limit.lms_s_soft = lim->lms_s_soft;
                                ce->ce_be->be_def_limit.lms_s_hard = lim->lms_s_hard;
                                ce->ce_be->be_def_limit.lms_s_unchecked =lim->lms_s_unchecked;