Skip to content
Snippets Groups Projects
Commit 87d7ca89 authored by Pierangelo Masarati's avatar Pierangelo Masarati
Browse files

ITS#3705: bailout if unknown config directive is found

parent b76e95e7
No related branches found
No related tags found
No related merge requests found
...@@ -43,6 +43,13 @@ ...@@ -43,6 +43,13 @@
#define ARGS_STEP 512 #define ARGS_STEP 512
/*
* ITS#3705: bail out if unknown config directives appear in slapd.conf
*/
#ifdef LDAP_DEVEL
#define SLAPD_CONF_UNKNOWN_BAILOUT
#endif /* LDAP_DEVEL */
/* /*
* defaults for various global variables * defaults for various global variables
*/ */
...@@ -607,10 +614,16 @@ read_config_file(const char *fname, int depth, ConfigArgs *cf) ...@@ -607,10 +614,16 @@ read_config_file(const char *fname, int depth, ConfigArgs *cf)
if ( rc ) { if ( rc ) {
switch(rc) { switch(rc) {
case SLAP_CONF_UNKNOWN: case SLAP_CONF_UNKNOWN:
#ifdef SLAPD_CONF_UNKNOWN_BAILOUT
Debug(LDAP_DEBUG_CONFIG, "%s: "
"unknown directive <%s> inside backend info definition\n",
c->log, *c->argv, 0);
#else /* !SLAPD_CONF_UNKNOWN_BAILOUT */
Debug(LDAP_DEBUG_CONFIG, "%s: " Debug(LDAP_DEBUG_CONFIG, "%s: "
"unknown directive <%s> inside backend info definition (ignored)\n", "unknown directive <%s> inside backend info definition (ignored)\n",
c->log, *c->argv, 0); c->log, *c->argv, 0);
continue; continue;
#endif /* !SLAPD_CONF_UNKNOWN_BAILOUT */
default: default:
rc = 1; rc = 1;
goto leave; goto leave;
...@@ -632,11 +645,18 @@ read_config_file(const char *fname, int depth, ConfigArgs *cf) ...@@ -632,11 +645,18 @@ read_config_file(const char *fname, int depth, ConfigArgs *cf)
if ( rc ) { if ( rc ) {
switch(rc) { switch(rc) {
case SLAP_CONF_UNKNOWN: case SLAP_CONF_UNKNOWN:
#ifdef SLAPD_CONF_UNKNOWN_BAILOUT
Debug( LDAP_DEBUG_CONFIG, "%s: "
"unknown directive <%s> inside backend database "
"definition\n",
c->log, *c->argv, 0);
#else /* !SLAPD_CONF_UNKNOWN_BAILOUT */
Debug( LDAP_DEBUG_CONFIG, "%s: " Debug( LDAP_DEBUG_CONFIG, "%s: "
"unknown directive <%s> inside backend database " "unknown directive <%s> inside backend database "
"definition (ignored)\n", "definition (ignored)\n",
c->log, *c->argv, 0); c->log, *c->argv, 0);
continue; continue;
#endif /* !SLAPD_CONF_UNKNOWN_BAILOUT */
default: default:
rc = 1; rc = 1;
goto leave; goto leave;
...@@ -648,10 +668,16 @@ read_config_file(const char *fname, int depth, ConfigArgs *cf) ...@@ -648,10 +668,16 @@ read_config_file(const char *fname, int depth, ConfigArgs *cf)
if ( rc ) { if ( rc ) {
switch(rc) { switch(rc) {
case SLAP_CONF_UNKNOWN: case SLAP_CONF_UNKNOWN:
#ifdef SLAPD_CONF_UNKNOWN_BAILOUT
Debug( LDAP_DEBUG_CONFIG, "%s: "
"unknown directive <%s> inside global database definition\n",
c->log, *c->argv, 0);
#else /* !SLAPD_CONF_UNKNOWN_BAILOUT */
Debug( LDAP_DEBUG_CONFIG, "%s: " Debug( LDAP_DEBUG_CONFIG, "%s: "
"unknown directive <%s> inside global database definition (ignored)\n", "unknown directive <%s> inside global database definition (ignored)\n",
c->log, *c->argv, 0); c->log, *c->argv, 0);
continue; continue;
#endif /* SLAPD_CONF_UNKNOWN_BAILOUT */
default: default:
rc = 1; rc = 1;
goto leave; goto leave;
...@@ -659,11 +685,18 @@ read_config_file(const char *fname, int depth, ConfigArgs *cf) ...@@ -659,11 +685,18 @@ read_config_file(const char *fname, int depth, ConfigArgs *cf)
} }
} else { } else {
#ifdef SLAPD_CONF_UNKNOWN_BAILOUT
Debug(LDAP_DEBUG_CONFIG, "%s: "
"unknown directive <%s> outside backend info and database definitions\n",
c->log, *c->argv, 0);
rc = 1;
goto leave;
#else /* !SLAPD_CONF_UNKNOWN_BAILOUT */
Debug(LDAP_DEBUG_CONFIG, "%s: " Debug(LDAP_DEBUG_CONFIG, "%s: "
"unknown directive <%s> outside backend info and database definitions (ignored)\n", "unknown directive <%s> outside backend info and database definitions (ignored)\n",
c->log, *c->argv, 0); c->log, *c->argv, 0);
continue; continue;
#endif /* SLAPD_CONF_UNKNOWN_BAILOUT */
} }
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment