]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
auth: Added auth_request_log_login_failure()
authorSergey Kitov <sergey.kitov@open-xchange.com>
Tue, 15 Aug 2017 06:27:09 +0000 (09:27 +0300)
committerSergey Kitov <sergey.kitov@open-xchange.com>
Tue, 15 Aug 2017 07:07:21 +0000 (10:07 +0300)
New function implementing functionality of auth_request_log_unknown_user() and auth_request_log_password_mismatch()

src/auth/auth-request.c
src/auth/auth-request.h

index 38315b1c742540f9693e91b796888b4edcf5994f..da5532254043dbabb98dcb314a4335699a5fb7e1 100644 (file)
@@ -2484,6 +2484,33 @@ void auth_request_log_unknown_user(struct auth_request *request,
        i_info("%s", str_c(str));
 }
 
+void auth_request_log_login_failure(struct auth_request *request,
+                                   const char *subsystem,
+                                   const char *message)
+{
+       string_t *str;
+
+       if (strcmp(request->set->verbose_passwords, "no") == 0) {
+               auth_request_log_info(request, subsystem, "%s", message);
+               return;
+       }
+       str = t_str_new(128);
+       get_log_prefix(str, request, subsystem);
+       str_append(str, message);
+       str_append(str, " ");
+
+       auth_request_append_password(request, str);
+
+       if (request->userdb_lookup) {
+               if (request->userdb->next != NULL)
+                       str_append(str, " - trying the next userdb");
+       } else {
+               if (request->passdb->next != NULL)
+                       str_append(str, " - trying the next passdb");
+       }
+       i_info("%s", str_c(str));
+}
+
 int auth_request_password_verify(struct auth_request *request,
                                 const char *plain_password,
                                 const char *crypted_password,
index cb400dd74b7ff1aa8fe604deace82d35c6440321..c1358403d4a5cf4edeb9bcb71092aee91d8001d5 100644 (file)
@@ -254,6 +254,10 @@ void auth_request_log_error(struct auth_request *auth_request,
 void auth_request_log_unknown_user(struct auth_request *auth_request,
                                   const char *subsystem);
 
+void auth_request_log_login_failure(struct auth_request *request,
+                                   const char *subsystem,
+                                   const char *message);
+
 void auth_request_verify_plain_callback(enum passdb_result result,
                                        struct auth_request *request);
 void auth_request_lookup_credentials_callback(enum passdb_result result,