changeset 11981:b9bdcfd6eaa7

login proxy: Error message improvements.
author Timo Sirainen <tss@iki.fi>
date Thu, 12 Aug 2010 15:20:58 +0100
parents 4b59b19628b1
children c27bca966b54
files src/login-common/client-common-auth.c src/login-common/login-proxy.c
diffstat 2 files changed, 14 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/login-common/client-common-auth.c	Thu Aug 12 13:51:12 2010 +0100
+++ b/src/login-common/client-common-auth.c	Thu Aug 12 15:20:58 2010 +0100
@@ -179,6 +179,13 @@
 	client_auth_failed(client);
 }
 
+static const char *get_disconnect_reason(struct istream *input)
+{
+	errno = input->stream_errno;
+	return errno == 0 || errno == EPIPE ? "Connection closed" :
+		t_strdup_printf("Connection closed: %m");
+}
+
 static void proxy_input(struct client *client)
 {
 	struct istream *input;
@@ -209,7 +216,11 @@
 		client_proxy_failed(client, TRUE);
 		return;
 	case -1:
-		client_log_err(client, "proxy: Remote disconnected");
+		client_log_err(client, t_strdup_printf(
+			"proxy: Remote %s:%u disconnected: %s",
+			login_proxy_get_host(client->login_proxy),
+			login_proxy_get_port(client->login_proxy),
+			get_disconnect_reason(input)));
 		client_proxy_failed(client, TRUE);
 		return;
 	}
--- a/src/login-common/login-proxy.c	Thu Aug 12 13:51:12 2010 +0100
+++ b/src/login-common/login-proxy.c	Thu Aug 12 15:20:58 2010 +0100
@@ -202,6 +202,8 @@
 	if (timeval_cmp(&rec->last_failure, &rec->last_success) > 0 &&
 	    rec->num_waiting_connections != 0) {
 		/* the server is down. fail immediately */
+		i_error("proxy(%s): Host %s:%u is down",
+			proxy->client->virtual_user, proxy->host, proxy->port);
 		login_proxy_free(&proxy);
 		return -1;
 	}