]> 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)
committerVille Savolainen <ville.savolainen@dovecot.fi>
Fri, 18 May 2018 14:08:08 +0000 (17:08 +0300)
src/lib-master/master-login-auth.c

index 4925cb33fd1ad801d183cfa1a5d1454ce7a0d1a6..6305153388b4d621e98581059e53375aaf74e2b1 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)
@@ -296,13 +303,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);
        }