changeset 13671:d03524bfcf16

login: If login fails for some reason, but auth was successful, don't log "auth failed". For example if proxy fails to connect to remote server.
author Timo Sirainen <tss@iki.fi>
date Tue, 08 Nov 2011 21:29:34 +0200
parents d9b89af302e7
children 96e469ea4fc8
files src/login-common/client-common.c src/login-common/client-common.h src/login-common/sasl-server.c
diffstat 3 files changed, 6 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/login-common/client-common.c	Tue Nov 08 21:14:32 2011 +0200
+++ b/src/login-common/client-common.c	Tue Nov 08 21:29:34 2011 +0200
@@ -528,6 +528,10 @@
 	if (client->auth_try_aborted && client->auth_attempts == 1)
 		return "(aborted authentication)";
 
+	if (client->auth_successes > 0) {
+		return t_strdup_printf("(internal failure, %u succesful auths)",
+				       client->auth_successes);
+	}
 	return t_strdup_printf("(auth failed, %u attempts)",
 			       client->auth_attempts);
 }
--- a/src/login-common/client-common.h	Tue Nov 08 21:14:32 2011 +0200
+++ b/src/login-common/client-common.h	Tue Nov 08 21:29:34 2011 +0200
@@ -106,7 +106,7 @@
 	sasl_server_callback_t *sasl_callback;
 
 	unsigned int bad_counter;
-	unsigned int auth_attempts;
+	unsigned int auth_attempts, auth_successes;
 	pid_t mail_pid;
 
 	char *virtual_user;
--- a/src/login-common/sasl-server.c	Tue Nov 08 21:14:32 2011 +0200
+++ b/src/login-common/sasl-server.c	Tue Nov 08 21:29:34 2011 +0200
@@ -221,6 +221,7 @@
 		break;
 	case AUTH_REQUEST_STATUS_OK:
 		client->auth_request = NULL;
+		client->auth_successes++;
 
 		nologin = FALSE;
 		for (i = 0; args[i] != NULL; i++) {