dovecot: If we're connecting to client socket instead of a maste...

dovecot at dovecot.org dovecot at dovecot.org
Sat Sep 22 16:51:07 EEST 2007


details:   http://hg.dovecot.org/dovecot/rev/da4867da38c2
changeset: 6465:da4867da38c2
user:      Timo Sirainen <tss at iki.fi>
date:      Sat Sep 22 16:50:42 2007 +0300
description:
If we're connecting to client socket instead of a master socket, log an
understandable error message.

diffstat:

1 file changed, 7 insertions(+), 1 deletion(-)
src/deliver/auth-client.c |    8 +++++++-

diffs (32 lines):

diff -r 90faec88598f -r da4867da38c2 src/deliver/auth-client.c
--- a/src/deliver/auth-client.c	Sat Sep 22 16:24:09 2007 +0300
+++ b/src/deliver/auth-client.c	Sat Sep 22 16:50:42 2007 +0300
@@ -29,6 +29,7 @@ struct auth_connection {
 
 	struct ioloop *ioloop;
 	uid_t euid;
+	const char *auth_socket;
 	const char *user;
 	ARRAY_TYPE(string) *extra_fields;
 
@@ -164,7 +165,11 @@ static void auth_input(struct auth_conne
 			return_value = EX_NOUSER;
 		else if (strncmp(line, "FAIL\t1", 6) == 0)
 			return_value = EX_TEMPFAIL;
-		else {
+		else if (strncmp(line, "CUID\t", 5) == 0) {
+			i_error("%s is an auth client socket. "
+				"It should be a master socket.",
+				conn->auth_socket);
+		} else {
 			i_error("BUG: Unexpected input from auth master: %s",
 				line);
 		}
@@ -214,6 +219,7 @@ int auth_client_lookup_and_restrict(stru
 	conn->ioloop = ioloop;
 	conn->euid = euid;
 	conn->user = user;
+	conn->auth_socket = auth_socket;
 	conn->to = timeout_add(1000*AUTH_REQUEST_TIMEOUT,
 			       auth_client_timeout, conn);
 	conn->extra_fields = extra_fields_r;


More information about the dovecot-cvs mailing list