From: Howard Chu Date: Fri, 4 Mar 2005 10:01:31 +0000 (+0000) Subject: Fix backend config table fallthru X-Git-Tag: OPENLDAP_REL_ENG_2_3_BP~96 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=50c3487e0331c01893b7e2a29648431d55299997;p=openldap Fix backend config table fallthru --- diff --git a/servers/slapd/config.c b/servers/slapd/config.c index da68df4808..48cba471a4 100644 --- a/servers/slapd/config.c +++ b/servers/slapd/config.c @@ -468,32 +468,29 @@ read_config_file(const char *fname, int depth, ConfigArgs *cf) } } - } else if ( c->be && c->be->be_cf_table ) { - rc = parse_config_table( c->be->be_cf_table, c ); + } else if ( c->be ) { + if ( c->be->be_cf_table ) { + rc = parse_config_table( c->be->be_cf_table, c ); - if ( rc ) { - switch(rc) { - case SLAP_CONF_UNKNOWN: - Debug( LDAP_DEBUG_CONFIG, "%s: " - "unknown directive <%s> inside backend database definition (ignored)\n", - c->log, *c->argv, 0); - continue; - default: - goto badline; - } + if ( !rc ) continue; + + if ( rc != ARG_UNKNOWN ) goto badline; } - } else if ( c->be && c->be->be_config ) { - rc = (*c->be->be_config)(c->be, c->fname, c->lineno, c->argc, c->argv); - if ( rc ) { - switch(rc) { - case SLAP_CONF_UNKNOWN: - Debug( LDAP_DEBUG_CONFIG, "%s: " - "unknown directive <%s> inside backend database definition (ignored)\n", - c->log, *c->argv, 0); - continue; - default: - goto badline; + if ( c->be->be_config ) { + rc = (*c->be->be_config)(c->be, c->fname, c->lineno, + c->argc, c->argv); + if ( rc ) { + switch(rc) { + case SLAP_CONF_UNKNOWN: + Debug( LDAP_DEBUG_CONFIG, "%s: " + "unknown directive <%s> inside backend database " + "definition (ignored)\n", + c->log, *c->argv, 0); + continue; + default: + goto badline; + } } }