]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-master: Add request time also for internal failure error messages
authorTimo Sirainen <timo.sirainen@dovecot.fi>
Fri, 4 May 2018 11:10:49 +0000 (14:10 +0300)
committerTimo Sirainen <timo.sirainen@dovecot.fi>
Fri, 8 Jun 2018 08:42:46 +0000 (11:42 +0300)
src/lib-master/master-login-auth.c

index b613c2d043f780903234762e184d57e1f9af4c63..85bbb5c8c86b3a8c8a8df13acb899e69d89e25be 100644 (file)
@@ -81,14 +81,21 @@ master_login_auth_init(const char *auth_socket_path, bool request_auth_token)
        return auth;
 }
 
+static void request_failure(struct master_login_auth_request *request,
+                           const char *log_reason, const char *client_reason)
+{
+       i_error("%s (Request took %u msecs, client-pid=%u client-id=%u)",
+               log_reason,
+               timeval_diff_msecs(&ioloop_timeval, &request->create_stamp),
+               request->client_pid, request->auth_id);
+       request->callback(NULL, client_reason, request->context);
+}
+
 static void
 request_internal_failure(struct master_login_auth_request *request,
                         const char *reason)
 {
-       i_error("%s (client-pid=%u client-id=%u)",
-               reason, request->client_pid, request->auth_id);
-       request->callback(NULL, MASTER_AUTH_ERRMSG_INTERNAL_FAILURE,
-                         request->context);
+       request_failure(request, reason, MASTER_AUTH_ERRMSG_INTERNAL_FAILURE);
 }
 
 void master_login_auth_disconnect(struct master_login_auth *auth)
@@ -292,13 +299,9 @@ master_login_auth_input_fail(struct master_login_auth *auth,
                        request_internal_failure(request,
                                                 "Internal auth failure");
                } else {
-                       i_error("Internal auth failure: %s "
-                               "(Request took %u msecs, "
-                               "client-pid=%u client-id=%u)",
-                               error, timeval_diff_msecs(&ioloop_timeval,
-                                                         &request->create_stamp),
-                               request->client_pid, request->auth_id);
-                       request->callback(NULL, error, request->context);
+                       const char *log_reason = t_strdup_printf(
+                               "Internal auth failure: %s", error);
+                       request_failure(request, log_reason, error);
                }
                i_free(request);
        }