From 50c3487e0331c01893b7e2a29648431d55299997 Mon Sep 17 00:00:00 2001 From: Howard Chu Date: Fri, 4 Mar 2005 10:01:31 +0000 Subject: [PATCH] Fix backend config table fallthru --- servers/slapd/config.c | 43 ++++++++++++++++++++---------------------- 1 file changed, 20 insertions(+), 23 deletions(-) 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; + } } } -- 2.39.5