From: Timo Sirainen Date: Sat, 21 Sep 2013 23:32:05 +0000 (+0300) Subject: auth: Use a common auth_request_log_unknown_user() for logging "unknown user" entries. X-Git-Tag: 2.2.6~17 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ed3c4faf5ddf559818e4a3f7efc0f53f97396227;p=thirdparty%2Fdovecot%2Fcore.git auth: Use a common auth_request_log_unknown_user() for logging "unknown user" entries. --- diff --git a/src/auth/auth-request.c b/src/auth/auth-request.c index 7206a3f303..a2ff1c0a99 100644 --- a/src/auth/auth-request.c +++ b/src/auth/auth-request.c @@ -2114,6 +2114,12 @@ void auth_request_log_error(struct auth_request *auth_request, va_end(va); } +void auth_request_log_unknown_user(struct auth_request *auth_request, + const char *subsystem) +{ + auth_request_log_info(auth_request, subsystem, "unknown user"); +} + void auth_request_refresh_last_access(struct auth_request *request) { request->last_access = ioloop_time; diff --git a/src/auth/auth-request.h b/src/auth/auth-request.h index f72d6b5bc2..e0fae78ed5 100644 --- a/src/auth/auth-request.h +++ b/src/auth/auth-request.h @@ -245,6 +245,8 @@ void auth_request_log_warning(struct auth_request *auth_request, void auth_request_log_error(struct auth_request *auth_request, const char *subsystem, const char *format, ...) ATTR_FORMAT(3, 4); +void auth_request_log_unknown_user(struct auth_request *auth_request, + const char *subsystem); void auth_request_verify_plain_callback(enum passdb_result result, struct auth_request *request); diff --git a/src/auth/db-passwd-file.c b/src/auth/db-passwd-file.c index eeda7bcedf..ef61d2be84 100644 --- a/src/auth/db-passwd-file.c +++ b/src/auth/db-passwd-file.c @@ -463,7 +463,7 @@ db_passwd_file_lookup(struct db_passwd_file *db, struct auth_request *request, pu = hash_table_lookup(pw->users, str_c(username)); if (pu == NULL) - auth_request_log_info(request, "passwd-file", "unknown user"); + auth_request_log_unknown_user(request, "passwd-file"); return pu; } diff --git a/src/auth/passdb-bsdauth.c b/src/auth/passdb-bsdauth.c index 3de7d53a2a..ee1c59ac43 100644 --- a/src/auth/passdb-bsdauth.c +++ b/src/auth/passdb-bsdauth.c @@ -30,7 +30,7 @@ bsdauth_verify_plain(struct auth_request *request, const char *password, callback(PASSDB_RESULT_INTERNAL_FAILURE, request); return; case 0: - auth_request_log_info(request, "bsdauth", "unknown user"); + auth_request_log_unknown_user(request, "bsdauth"); callback(PASSDB_RESULT_USER_UNKNOWN, request); return; } diff --git a/src/auth/passdb-cache.c b/src/auth/passdb-cache.c index ed7331f8f6..a18f45aad1 100644 --- a/src/auth/passdb-cache.c +++ b/src/auth/passdb-cache.c @@ -48,7 +48,7 @@ bool passdb_cache_verify_plain(struct auth_request *request, const char *key, if (*value == '\0') { /* negative cache entry */ - auth_request_log_info(request, "cache", "User unknown"); + auth_request_log_unknown_user(request, "cache"); *result_r = PASSDB_RESULT_USER_UNKNOWN; return TRUE; } diff --git a/src/auth/passdb-dict.c b/src/auth/passdb-dict.c index d2d91e5aa5..f4b4dc7019 100644 --- a/src/auth/passdb-dict.c +++ b/src/auth/passdb-dict.c @@ -64,7 +64,7 @@ passdb_dict_lookup_key(struct auth_request *auth_request, auth_request_log_error(auth_request, "dict", "Lookup failed"); return PASSDB_RESULT_INTERNAL_FAILURE; } else if (ret == 0) { - auth_request_log_info(auth_request, "dict", "unknown user"); + auth_request_log_unknown_user(auth_request, "dict"); return PASSDB_RESULT_USER_UNKNOWN; } else { auth_request_log_debug(auth_request, "dict", diff --git a/src/auth/passdb-ldap.c b/src/auth/passdb-ldap.c index 15d392c163..4be5d154c7 100644 --- a/src/auth/passdb-ldap.c +++ b/src/auth/passdb-ldap.c @@ -77,8 +77,7 @@ ldap_lookup_finish(struct auth_request *auth_request, passdb_result = PASSDB_RESULT_INTERNAL_FAILURE; } else if (ldap_request->entries == 0) { passdb_result = PASSDB_RESULT_USER_UNKNOWN; - auth_request_log_info(auth_request, "ldap", - "unknown user"); + auth_request_log_unknown_user(auth_request, "ldap"); } else if (ldap_request->entries > 1) { auth_request_log_error(auth_request, "ldap", "pass_filter matched multiple objects, aborting"); @@ -166,8 +165,7 @@ ldap_auth_bind_callback(struct ldap_connection *conn, passdb_result = PASSDB_RESULT_PASSWORD_MISMATCH; } else if (ret == LDAP_NO_SUCH_OBJECT) { passdb_result = PASSDB_RESULT_USER_UNKNOWN; - auth_request_log_info(auth_request, "ldap", - "unknown user"); + auth_request_log_unknown_user(auth_request, "ldap"); } else { auth_request_log_error(auth_request, "ldap", "ldap_bind() failed: %s", @@ -214,8 +212,7 @@ ldap_bind_lookup_dn_fail(struct auth_request *auth_request, passdb_result = PASSDB_RESULT_INTERNAL_FAILURE; else if (request->entries == 0) { passdb_result = PASSDB_RESULT_USER_UNKNOWN; - auth_request_log_info(auth_request, "ldap", - "unknown user"); + auth_request_log_unknown_user(auth_request, "ldap"); } else { i_assert(request->entries > 1); auth_request_log_error(auth_request, "ldap", diff --git a/src/auth/passdb-pam.c b/src/auth/passdb-pam.c index 0c15bf86fc..03e43e8929 100644 --- a/src/auth/passdb-pam.c +++ b/src/auth/passdb-pam.c @@ -181,7 +181,10 @@ static int try_pam_auth(struct auth_request *request, pam_handle_t *pamh, } auth_request_log_info(request, "pam", "%s", str); } else { - auth_request_log_info(request, "pam", "%s", str); + if (status == PAM_USER_UNKNOWN) + auth_request_log_unknown_user(request, "pam"); + else + auth_request_log_info(request, "pam", "%s", str); } return status; } diff --git a/src/auth/passdb-passwd.c b/src/auth/passdb-passwd.c index 5879f76848..37043cd5e6 100644 --- a/src/auth/passdb-passwd.c +++ b/src/auth/passdb-passwd.c @@ -27,7 +27,7 @@ passwd_verify_plain(struct auth_request *request, const char *password, callback(PASSDB_RESULT_INTERNAL_FAILURE, request); return; case 0: - auth_request_log_info(request, "passwd", "unknown user"); + auth_request_log_unknown_user(request, "passwd"); callback(PASSDB_RESULT_USER_UNKNOWN, request); return; } diff --git a/src/auth/passdb-shadow.c b/src/auth/passdb-shadow.c index 2aa1bca938..0424fd6328 100644 --- a/src/auth/passdb-shadow.c +++ b/src/auth/passdb-shadow.c @@ -23,7 +23,7 @@ shadow_verify_plain(struct auth_request *request, const char *password, spw = getspnam(request->user); if (spw == NULL) { - auth_request_log_info(request, "shadow", "unknown user"); + auth_request_log_unknown_user(request, "shadow"); callback(PASSDB_RESULT_USER_UNKNOWN, request); return; } diff --git a/src/auth/passdb-sql.c b/src/auth/passdb-sql.c index 55fe7167e1..57ce919c61 100644 --- a/src/auth/passdb-sql.c +++ b/src/auth/passdb-sql.c @@ -85,7 +85,7 @@ static void sql_query_callback(struct sql_result *result, module->conn->set.password_query); } } else if (ret == 0) { - auth_request_log_info(auth_request, "sql", "unknown user"); + auth_request_log_unknown_user(auth_request, "sql"); passdb_result = PASSDB_RESULT_USER_UNKNOWN; } else { sql_query_save_results(result, sql_request); diff --git a/src/auth/userdb-dict.c b/src/auth/userdb-dict.c index 1d392f3d43..169b5ccb3e 100644 --- a/src/auth/userdb-dict.c +++ b/src/auth/userdb-dict.c @@ -81,7 +81,7 @@ static void userdb_dict_lookup(struct auth_request *auth_request, auth_request_log_error(auth_request, "dict", "Lookup failed"); userdb_result = USERDB_RESULT_INTERNAL_FAILURE; } else if (ret == 0) { - auth_request_log_info(auth_request, "dict", "unknown user"); + auth_request_log_unknown_user(auth_request, "dict"); userdb_result = USERDB_RESULT_USER_UNKNOWN; } else { auth_request_log_debug(auth_request, "dict", diff --git a/src/auth/userdb-ldap.c b/src/auth/userdb-ldap.c index f009c88695..0d66e74a70 100644 --- a/src/auth/userdb-ldap.c +++ b/src/auth/userdb-ldap.c @@ -71,8 +71,7 @@ userdb_ldap_lookup_finish(struct auth_request *auth_request, result = USERDB_RESULT_INTERNAL_FAILURE; } else if (urequest->entries == 0) { result = USERDB_RESULT_USER_UNKNOWN; - auth_request_log_info(auth_request, "ldap", - "unknown user"); + auth_request_log_unknown_user(auth_request, "ldap"); } else if (urequest->entries > 1) { auth_request_log_error(auth_request, "ldap", "user_filter matched multiple objects, aborting"); diff --git a/src/auth/userdb-nss.c b/src/auth/userdb-nss.c index 1dda872d0f..39416e82d4 100644 --- a/src/auth/userdb-nss.c +++ b/src/auth/userdb-nss.c @@ -52,7 +52,7 @@ userdb_nss_lookup(struct auth_request *auth_request, "unavailable (err=%d)", err); break; case NSS_STATUS_NOTFOUND: - auth_request_log_info(auth_request, "nss", "unknown user"); + auth_request_log_unknown_user(auth_request, "nss"); result = USERDB_RESULT_USER_UNKNOWN; break; case NSS_STATUS_SUCCESS: diff --git a/src/auth/userdb-passwd.c b/src/auth/userdb-passwd.c index 438bec16ef..1a8146cb47 100644 --- a/src/auth/userdb-passwd.c +++ b/src/auth/userdb-passwd.c @@ -101,7 +101,7 @@ static void passwd_lookup(struct auth_request *auth_request, callback(USERDB_RESULT_INTERNAL_FAILURE, auth_request); return; case 0: - auth_request_log_info(auth_request, "passwd", "unknown user"); + auth_request_log_unknown_user(auth_request, "passwd"); callback(USERDB_RESULT_USER_UNKNOWN, auth_request); return; } diff --git a/src/auth/userdb-sql.c b/src/auth/userdb-sql.c index bce281c331..2638f980fa 100644 --- a/src/auth/userdb-sql.c +++ b/src/auth/userdb-sql.c @@ -83,7 +83,7 @@ static void sql_query_callback(struct sql_result *sql_result, } } else if (ret == 0) { result = USERDB_RESULT_USER_UNKNOWN; - auth_request_log_info(auth_request, "sql", "Unknown user"); + auth_request_log_unknown_user(auth_request, "sql"); } else { sql_query_get_result(sql_result, auth_request); result = USERDB_RESULT_OK; diff --git a/src/auth/userdb-vpopmail.c b/src/auth/userdb-vpopmail.c index bf2b8122ca..f07da1dd0d 100644 --- a/src/auth/userdb-vpopmail.c +++ b/src/auth/userdb-vpopmail.c @@ -42,7 +42,7 @@ struct vqpasswd *vpopmail_lookup_vqp(struct auth_request *request, vpw = vauth_getpw(vpop_user, vpop_domain); if (vpw == NULL) { - auth_request_log_info(request, "vpopmail", "unknown user"); + auth_request_log_unknown_user(request, "vpopmail"); return NULL; }