dovecot-2.2: auth: If auth-worker lookup times out, log a bit mo...

dovecot at dovecot.org dovecot at dovecot.org
Wed Mar 12 09:54:06 UTC 2014


details:   http://hg.dovecot.org/dovecot-2.2/rev/8df5fc361103
changeset: 17155:8df5fc361103
user:      Timo Sirainen <tss at iki.fi>
date:      Wed Mar 12 11:53:49 2014 +0200
description:
auth: If auth-worker lookup times out, log a bit more details about it.

diffstat:

 src/auth/auth-worker-server.c |  8 ++++++--
 src/auth/auth-worker-server.h |  2 +-
 src/auth/passdb-blocking.c    |  6 +++---
 src/auth/userdb-blocking.c    |  6 ++++--
 4 files changed, 14 insertions(+), 8 deletions(-)

diffs (103 lines):

diff -r d63b209737be -r 8df5fc361103 src/auth/auth-worker-server.c
--- a/src/auth/auth-worker-server.c	Tue Mar 11 13:26:33 2014 +0200
+++ b/src/auth/auth-worker-server.c	Wed Mar 12 11:53:49 2014 +0200
@@ -26,6 +26,7 @@
 struct auth_worker_request {
 	unsigned int id;
 	time_t created;
+	const char *username;
 	const char *data;
 	auth_worker_callback_t *callback;
 	void *context;
@@ -223,7 +224,9 @@
 		idle_count--;
 
 	if (conn->request != NULL) {
-		i_error("auth worker: Aborted request: %s", reason);
+		i_error("auth worker: Aborted %s request for %s: %s",
+			t_strcut(conn->request->data, '\t'),
+			conn->request->username, reason);
 		conn->request->callback(t_strdup_printf(
 				"FAIL\t%d", PASSDB_RESULT_INTERNAL_FAILURE),
 				conn->request->context);
@@ -399,7 +402,7 @@
 }
 
 struct auth_worker_connection *
-auth_worker_call(pool_t pool, const char *data,
+auth_worker_call(pool_t pool, const char *username, const char *data,
 		 auth_worker_callback_t *callback, void *context)
 {
 	struct auth_worker_connection *conn;
@@ -407,6 +410,7 @@
 
 	request = p_new(pool, struct auth_worker_request, 1);
 	request->created = ioloop_time;
+	request->username = p_strdup(pool, username);
 	request->data = p_strdup(pool, data);
 	request->callback = callback;
 	request->context = context;
diff -r d63b209737be -r 8df5fc361103 src/auth/auth-worker-server.h
--- a/src/auth/auth-worker-server.h	Tue Mar 11 13:26:33 2014 +0200
+++ b/src/auth/auth-worker-server.h	Wed Mar 12 11:53:49 2014 +0200
@@ -7,7 +7,7 @@
 typedef bool auth_worker_callback_t(const char *reply, void *context);
 
 struct auth_worker_connection * ATTR_NOWARN_UNUSED_RESULT
-auth_worker_call(pool_t pool, const char *data,
+auth_worker_call(pool_t pool, const char *username, const char *data,
 		 auth_worker_callback_t *callback, void *context);
 void auth_worker_server_resume_input(struct auth_worker_connection *conn);
 
diff -r d63b209737be -r 8df5fc361103 src/auth/passdb-blocking.c
--- a/src/auth/passdb-blocking.c	Tue Mar 11 13:26:33 2014 +0200
+++ b/src/auth/passdb-blocking.c	Wed Mar 12 11:53:49 2014 +0200
@@ -83,7 +83,7 @@
 	auth_request_export(request, str);
 
 	auth_request_ref(request);
-	auth_worker_call(request->pool, str_c(str),
+	auth_worker_call(request->pool, request->user, str_c(str),
 			 verify_plain_callback, request);
 }
 
@@ -123,7 +123,7 @@
 	auth_request_export(request, str);
 
 	auth_request_ref(request);
-	auth_worker_call(request->pool, str_c(str),
+	auth_worker_call(request->pool, request->user, str_c(str),
 			 lookup_credentials_callback, request);
 }
 
@@ -151,6 +151,6 @@
 	auth_request_export(request, str);
 
 	auth_request_ref(request);
-	auth_worker_call(request->pool, str_c(str),
+	auth_worker_call(request->pool, request->user, str_c(str),
 			 set_credentials_callback, request);
 }
diff -r d63b209737be -r 8df5fc361103 src/auth/userdb-blocking.c
--- a/src/auth/userdb-blocking.c	Tue Mar 11 13:26:33 2014 +0200
+++ b/src/auth/userdb-blocking.c	Wed Mar 12 11:53:49 2014 +0200
@@ -57,7 +57,8 @@
 	auth_request_export(request, str);
 
 	auth_request_ref(request);
-	auth_worker_call(request->pool, str_c(str), user_callback, request);
+	auth_worker_call(request->pool, request->user,
+			 str_c(str), user_callback, request);
 }
 
 static bool iter_callback(const char *reply, void *context)
@@ -95,7 +96,8 @@
 	ctx->ctx.context = context;
 
 	auth_request_ref(request);
-	ctx->conn = auth_worker_call(request->pool, str_c(str), iter_callback, ctx);
+	ctx->conn = auth_worker_call(request->pool, "*",
+				     str_c(str), iter_callback, ctx);
 	return &ctx->ctx;
 }
 


More information about the dovecot-cvs mailing list