changeset 22970:813522f36bff

lib-master: Add request time also for internal failure error messages
author Timo Sirainen <timo.sirainen@dovecot.fi>
date Fri, 04 May 2018 14:10:49 +0300
parents 3e71d3877872
children 642077a33b6a
files src/lib-master/master-login-auth.c
diffstat 1 files changed, 14 insertions(+), 11 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-master/master-login-auth.c	Fri May 04 14:03:46 2018 +0300
+++ b/src/lib-master/master-login-auth.c	Fri May 04 14:10:49 2018 +0300
@@ -81,14 +81,21 @@
 	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 @@
 			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);
 	}