]> git.sur5r.net Git - openldap/commitdiff
frontend/config/monitor cannot be shadow, I bet
authorPierangelo Masarati <ando@openldap.org>
Fri, 25 Nov 2005 17:10:11 +0000 (17:10 +0000)
committerPierangelo Masarati <ando@openldap.org>
Fri, 25 Nov 2005 17:10:11 +0000 (17:10 +0000)
servers/slapd/bconfig.c

index fe7be0dc23e4ce198d8ce2802d75287d19921ec7..52f4197ce43d053bca7ca14af4b9a749a8c00cc1 100644 (file)
@@ -2554,11 +2554,25 @@ config_updatedn(ConfigArgs *c) {
 int
 config_shadow( ConfigArgs *c, int flag )
 {
-       if ( SLAP_MONITOR( c->be ) ) {
-               Debug( LDAP_DEBUG_ANY, "%s: monitor database cannot be shadow.\n", c->log, 0, 0 );
+       char    *notallowed = NULL;
+
+       if ( c->be == frontendDB ) {
+               notallowed = "frontend";
+
+       } else if ( SLAP_MONITOR(c->be) ) {
+               notallowed = "monitor";
+
+       } else if ( SLAP_CONFIG(c->be) ) {
+               notallowed = "config";
+       }
+
+       if ( notallowed != NULL ) {
+               Debug( LDAP_DEBUG_ANY, "%s: %s database cannot be shadow.\n", c->log, notallowed, 0 );
                return 1;
        }
+
        SLAP_DBFLAGS(c->be) |= (SLAP_DBFLAG_SHADOW | flag);
+
        return 0;
 }