dovecot-2.2: doveadm-server: Error message logging improvements.
dovecot at dovecot.org
dovecot at dovecot.org
Tue Aug 6 17:06:57 EEST 2013
details: http://hg.dovecot.org/dovecot-2.2/rev/e52284d3cc76
changeset: 16672:e52284d3cc76
user: Timo Sirainen <tss at iki.fi>
date: Tue Aug 06 17:06:50 2013 +0300
description:
doveadm-server: Error message logging improvements.
diffstat:
src/doveadm/client-connection.c | 17 ++++++++++++++++-
src/doveadm/doveadm-mail-server.c | 4 ++--
2 files changed, 18 insertions(+), 3 deletions(-)
diffs (49 lines):
diff -r 6c4917396b0d -r e52284d3cc76 src/doveadm/client-connection.c
--- a/src/doveadm/client-connection.c Tue Aug 06 16:54:33 2013 +0300
+++ b/src/doveadm/client-connection.c Tue Aug 06 17:06:50 2013 +0300
@@ -281,6 +281,19 @@
return 1;
}
+static void client_log_disconnect_error(struct client_connection *conn)
+{
+ const char *error;
+
+ error = conn->ssl_iostream == NULL ? NULL :
+ ssl_iostream_get_last_error(conn->ssl_iostream);
+ if (error == NULL) {
+ error = conn->input->stream_errno == 0 ? "EOF" :
+ strerror(conn->input->stream_errno);
+ }
+ i_error("doveadm client disconnected before handshake: %s", error);
+}
+
static void client_connection_input(struct client_connection *conn)
{
const char *line;
@@ -289,8 +302,10 @@
if (!conn->handshaked) {
if ((line = i_stream_read_next_line(conn->input)) == NULL) {
- if (conn->input->eof || conn->input->stream_errno != 0)
+ if (conn->input->eof || conn->input->stream_errno != 0) {
+ client_log_disconnect_error(conn);
client_connection_destroy(&conn);
+ }
return;
}
diff -r 6c4917396b0d -r e52284d3cc76 src/doveadm/doveadm-mail-server.c
--- a/src/doveadm/doveadm-mail-server.c Tue Aug 06 16:54:33 2013 +0300
+++ b/src/doveadm/doveadm-mail-server.c Tue Aug 06 17:06:50 2013 +0300
@@ -96,8 +96,8 @@
case 0:
break;
case SERVER_EXIT_CODE_DISCONNECTED:
- i_error("%s: Internal failure for %s: %s",
- server->name, username, error);
+ i_error("%s: Command %s failed for %s: %s",
+ server->name, cmd_ctx->cmd->name, username, error);
internal_failure = TRUE;
master_service_stop(master_service);
return;
More information about the dovecot-cvs
mailing list