From: Timo Sirainen Date: Tue, 2 Dec 2008 17:24:57 +0000 (+0200) Subject: Fail if trying to give unknown parameters to passdb/userdb. X-Git-Tag: 1.2.alpha5~43 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=dd93aba1901a457346990f49c54a738947dc7128;p=thirdparty%2Fdovecot%2Fcore.git Fail if trying to give unknown parameters to passdb/userdb. Also changed error messages to be consistent. --HG-- branch : HEAD --- diff --git a/src/auth/passdb-bsdauth.c b/src/auth/passdb-bsdauth.c index 12b850fa5f..38ceea5f14 100644 --- a/src/auth/passdb-bsdauth.c +++ b/src/auth/passdb-bsdauth.c @@ -58,7 +58,8 @@ bsdauth_preinit(struct auth_passdb *auth_passdb, const char *args) module->cache_key = auth_cache_parse_key(auth_passdb->auth->pool, args + 10); - } + } else + i_fatal("passdb bsdauth: Unknown setting: %s", args); return module; } diff --git a/src/auth/passdb-pam.c b/src/auth/passdb-pam.c index 6687a5196d..39787c248d 100644 --- a/src/auth/passdb-pam.c +++ b/src/auth/passdb-pam.c @@ -357,7 +357,7 @@ pam_preinit(struct auth_passdb *auth_passdb, const char *args) module->service_name = p_strdup(auth_passdb->auth->pool, t_args[i]); } else { - i_fatal("Unexpected PAM parameter: %s", t_args[i]); + i_fatal("passdb pam: Unknown setting: %s", t_args[i]); } } return &module->module; diff --git a/src/auth/passdb-passwd-file.c b/src/auth/passdb-passwd-file.c index 935c2e02b4..4d591e4295 100644 --- a/src/auth/passdb-passwd-file.c +++ b/src/auth/passdb-passwd-file.c @@ -139,6 +139,8 @@ passwd_file_preinit(struct auth_passdb *auth_passdb, const char *args) scheme = p_strdup(auth_passdb->auth->pool, value); else if (strcmp(key, "username_format") == 0) format = p_strdup(auth_passdb->auth->pool, value); + else + i_fatal("passdb passwd-file: Unknown setting: %s", key); } module = p_new(auth_passdb->auth->pool, diff --git a/src/auth/passdb-passwd.c b/src/auth/passdb-passwd.c index fa50ea28a2..161dd0f159 100644 --- a/src/auth/passdb-passwd.c +++ b/src/auth/passdb-passwd.c @@ -61,6 +61,8 @@ static void passwd_init(struct passdb_module *module, const char *args) { if (strcmp(args, "blocking=yes") == 0) module->blocking = TRUE; + else + i_fatal("passdb passwd: Unknown setting: %s", args); module->cache_key = PASSWD_CACHE_KEY; module->default_pass_scheme = PASSWD_PASS_SCHEME; diff --git a/src/auth/passdb-shadow.c b/src/auth/passdb-shadow.c index 04a95fd0cb..eff32b6e9e 100644 --- a/src/auth/passdb-shadow.c +++ b/src/auth/passdb-shadow.c @@ -61,6 +61,8 @@ static void shadow_init(struct passdb_module *module, const char *args) { if (strcmp(args, "blocking=yes") == 0) module->blocking = TRUE; + else + i_fatal("passdb shadow: Unknown setting: %s", args); module->cache_key = SHADOW_CACHE_KEY; module->default_pass_scheme = SHADOW_PASS_SCHEME; diff --git a/src/auth/passdb-vpopmail.c b/src/auth/passdb-vpopmail.c index d3bbd1b97b..d8e9b265ec 100644 --- a/src/auth/passdb-vpopmail.c +++ b/src/auth/passdb-vpopmail.c @@ -178,7 +178,7 @@ vpopmail_preinit(struct auth_passdb *auth_passdb, const char *args) if (net_addr2ip(*tmp + 8, &module->webmail_ip) < 0) i_fatal("vpopmail: Invalid webmail IP address"); } else { - i_fatal("vpopmail: Unknown setting: %s", *tmp); + i_fatal("passdb vpopmail: Unknown setting: %s", *tmp); } } return &module->module; diff --git a/src/auth/passdb.c b/src/auth/passdb.c index 0e7d8f3b9b..edf9de0624 100644 --- a/src/auth/passdb.c +++ b/src/auth/passdb.c @@ -152,6 +152,12 @@ struct auth_passdb *passdb_preinit(struct auth *auth, const char *driver, driver); } + if (iface->preinit == NULL && iface->init == NULL && + *auth_passdb->args != '\0') { + i_fatal("passdb %s: No args are supported: %s", + driver, auth_passdb->args); + } + if (iface->preinit == NULL) { auth_passdb->passdb = p_new(auth->pool, struct passdb_module, 1); diff --git a/src/auth/userdb-nss.c b/src/auth/userdb-nss.c index fae6cab441..1144063853 100644 --- a/src/auth/userdb-nss.c +++ b/src/auth/userdb-nss.c @@ -116,7 +116,7 @@ userdb_nss_preinit(struct auth_userdb *auth_userdb, const char *args) else if (strncmp(*tmp, "service=", 8) == 0) module->nss_module.name = p_strdup(pool, *tmp + 8); else - i_fatal("userdb nss: Unknown parameter: %s", *tmp); + i_fatal("userdb nss: Unknown setting: %s", *tmp); } if (module->nss_module.name == NULL) diff --git a/src/auth/userdb-vpopmail.c b/src/auth/userdb-vpopmail.c index feabc18469..282ee1cb4c 100644 --- a/src/auth/userdb-vpopmail.c +++ b/src/auth/userdb-vpopmail.c @@ -158,7 +158,7 @@ vpopmail_preinit(struct auth_userdb *auth_userdb, const char *args) p_strdup_until(pool, *tmp + 15, p); module->quota_template_value = p_strdup(pool, p + 1); } else - i_fatal("vpopmail userdb: Unknown args: %s", *tmp); + i_fatal("userdb vpopmail: Unknown setting: %s", *tmp); } return &module->module; } diff --git a/src/auth/userdb.c b/src/auth/userdb.c index fda8cd2423..382a10a91a 100644 --- a/src/auth/userdb.c +++ b/src/auth/userdb.c @@ -123,6 +123,12 @@ void userdb_preinit(struct auth *auth, const char *driver, const char *args) driver); } + if (iface->preinit == NULL && iface->init == NULL && + *auth_userdb->args != '\0') { + i_fatal("userdb %s: No args are supported: %s", + driver, auth_userdb->args); + } + if (iface->preinit == NULL) { auth_userdb->userdb = p_new(auth->pool, struct userdb_module, 1);