]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
login proxy: Error message improvements.
authorTimo Sirainen <tss@iki.fi>
Thu, 12 Aug 2010 14:20:58 +0000 (15:20 +0100)
committerTimo Sirainen <tss@iki.fi>
Thu, 12 Aug 2010 14:20:58 +0000 (15:20 +0100)
src/login-common/client-common-auth.c
src/login-common/login-proxy.c

index f692aeeb508f9ce911c8664d06a76964ef4452af..5bcc87db02f676426d70fd9e1bf2b88ca3a35bcc 100644 (file)
@@ -179,6 +179,13 @@ void client_proxy_failed(struct client *client, bool send_line)
        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 @@ static void proxy_input(struct client *client)
                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;
        }
index 7fdf5db8e278ec9d32061aa944371772f3e51a51..67307dd9f17548d209c1485ae8bfe8d807ee1d0c 100644 (file)
@@ -202,6 +202,8 @@ static int login_proxy_connect(struct login_proxy *proxy)
        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;
        }