From: Timo Sirainen Date: Sat, 25 Oct 2008 13:07:28 +0000 (+0300) Subject: Login processes: If auth_debug=yes, log about received unknown passdb extra fields. X-Git-Tag: 1.2.alpha4~158 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=cde374030f07abaec4f898a1afe67de1f3dbded0;p=thirdparty%2Fdovecot%2Fcore.git Login processes: If auth_debug=yes, log about received unknown passdb extra fields. --HG-- branch : HEAD --- diff --git a/src/imap-login/client-authenticate.c b/src/imap-login/client-authenticate.c index 6b1ec3588e..8ea1539eb0 100644 --- a/src/imap-login/client-authenticate.c +++ b/src/imap-login/client-authenticate.c @@ -110,6 +110,10 @@ static bool client_handle_args(struct imap_client *client, destuser = *args + 9; else if (strncmp(*args, "pass=", 5) == 0) pass = *args + 5; + else if (auth_debug) { + i_info("Ignoring unknown passdb extra field: %s", + *args); + } } if (destuser == NULL) diff --git a/src/login-common/common.h b/src/login-common/common.h index a9850cc36e..23618676f4 100644 --- a/src/login-common/common.h +++ b/src/login-common/common.h @@ -14,7 +14,7 @@ extern const char *login_protocol; extern bool disable_plaintext_auth, process_per_connection; -extern bool verbose_proctitle, verbose_ssl, verbose_auth; +extern bool verbose_proctitle, verbose_ssl, verbose_auth, auth_debug; extern bool ssl_require_client_cert; extern const char *greeting, *log_format; extern const char *const *log_format_elements; diff --git a/src/login-common/main.c b/src/login-common/main.c index 76fc0fd618..43331ec8b1 100644 --- a/src/login-common/main.c +++ b/src/login-common/main.c @@ -20,7 +20,7 @@ #include bool disable_plaintext_auth, process_per_connection; -bool verbose_proctitle, verbose_ssl, verbose_auth; +bool verbose_proctitle, verbose_ssl, verbose_auth, auth_debug; bool ssl_require_client_cert; const char *greeting, *log_format; const char *const *log_format_elements; @@ -318,6 +318,7 @@ static void main_init(void) verbose_proctitle = getenv("VERBOSE_PROCTITLE") != NULL; verbose_ssl = getenv("VERBOSE_SSL") != NULL; verbose_auth = getenv("VERBOSE_AUTH") != NULL; + auth_debug = getenv("AUTH_DEBUG") != NULL; ssl_require_client_cert = getenv("SSL_REQUIRE_CLIENT_CERT") != NULL; greeting = getenv("GREETING"); diff --git a/src/master/login-process.c b/src/master/login-process.c index bcdb290950..d6284b976c 100644 --- a/src/master/login-process.c +++ b/src/master/login-process.c @@ -581,6 +581,8 @@ static void login_process_init_env(struct login_group *group, pid_t pid) env_put("VERBOSE_SSL=1"); if (set->server->auths->verbose) env_put("VERBOSE_AUTH=1"); + if (set->server->auths->debug) + env_put("AUTH_DEBUG=1"); require_cert = TRUE; for (auth = set->server->auths; auth != NULL; auth = auth->next) { if (!auth->ssl_require_client_cert) diff --git a/src/pop3-login/client-authenticate.c b/src/pop3-login/client-authenticate.c index 82234d832a..220300e558 100644 --- a/src/pop3-login/client-authenticate.c +++ b/src/pop3-login/client-authenticate.c @@ -107,6 +107,10 @@ static bool client_handle_args(struct pop3_client *client, destuser = *args + 9; else if (strncmp(*args, "pass=", 5) == 0) pass = *args + 5; + else if (auth_debug) { + i_info("Ignoring unknown passdb extra field: %s", + *args); + } } if (destuser == NULL)