From: Timo Sirainen Date: Mon, 17 Aug 2020 09:43:12 +0000 (+0300) Subject: imap: Log errors via imap_client.event when possible X-Git-Tag: 2.3.13~369 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8482b886eaea9274bf03c9e93e05d4feaea79d90;p=thirdparty%2Fdovecot%2Fcore.git imap: Log errors via imap_client.event when possible --- diff --git a/src/imap/cmd-getmetadata.c b/src/imap/cmd-getmetadata.c index a24855e865..9693fb4f79 100644 --- a/src/imap/cmd-getmetadata.c +++ b/src/imap/cmd-getmetadata.c @@ -203,7 +203,8 @@ static void cmd_getmetadata_send_entry(struct imap_getmetadata_context *ctx, value_len = strlen(value.value); else if (value.value_stream != NULL) { if (i_stream_get_size(value.value_stream, TRUE, &value_len) < 0) { - i_error("GETMETADATA %s: i_stream_get_size(%s) failed: %s", entry, + e_error(client->event, + "GETMETADATA %s: i_stream_get_size(%s) failed: %s", entry, i_stream_get_name(value.value_stream), i_stream_get_error(value.value_stream)); i_stream_unref(&value.value_stream); @@ -257,7 +258,7 @@ cmd_getmetadata_stream_continue(struct imap_getmetadata_context *ctx) case OSTREAM_SEND_ISTREAM_RESULT_WAIT_OUTPUT: return FALSE; case OSTREAM_SEND_ISTREAM_RESULT_ERROR_INPUT: - i_error("read(%s) failed: %s", + e_error(ctx->cmd->client->event, "read(%s) failed: %s", i_stream_get_name(ctx->cur_stream), i_stream_get_error(ctx->cur_stream)); client_disconnect(ctx->cmd->client, diff --git a/src/imap/cmd-urlfetch.c b/src/imap/cmd-urlfetch.c index 65e50bf1a4..60e4accf58 100644 --- a/src/imap/cmd-urlfetch.c +++ b/src/imap/cmd-urlfetch.c @@ -109,7 +109,7 @@ static int cmd_urlfetch_transfer_literal(struct client_command_context *cmd) case OSTREAM_SEND_ISTREAM_RESULT_WAIT_OUTPUT: return 0; case OSTREAM_SEND_ISTREAM_RESULT_ERROR_INPUT: - i_error("read(%s) failed: %s (URLFETCH)", + e_error(client->event, "read(%s) failed: %s (URLFETCH)", i_stream_get_name(ctx->input), i_stream_get_error(ctx->input)); client_disconnect(client, "URLFETCH failed"); diff --git a/src/imap/imap-client-hibernate.c b/src/imap/imap-client-hibernate.c index e8fea9cc65..f892d47df8 100644 --- a/src/imap/imap-client-hibernate.c +++ b/src/imap/imap-client-hibernate.c @@ -166,7 +166,7 @@ imap_hibernate_process_send(struct client *client, const buffer_t *state, "/"IMAP_HIBERNATE_SOCKET_NAME, NULL); fd = net_connect_unix_with_retries(path, 1000); if (fd == -1) { - i_error("net_connect_unix(%s) failed: %m", path); + e_error(client->event, "net_connect_unix(%s) failed: %m", path); return -1; } net_set_nonblock(fd, FALSE); @@ -211,7 +211,7 @@ bool imap_client_hibernate(struct client **_client) state = buffer_create_dynamic(default_pool, 1024); ret = imap_state_export_internal(client, state, &error); if (ret < 0) { - i_error("Couldn't hibernate imap client: " + e_error(client->event, "Couldn't hibernate imap client: " "Couldn't export state: %s (mailbox=%s)", error, client->mailbox == NULL ? "" : mailbox_get_vname(client->mailbox)); @@ -234,7 +234,8 @@ bool imap_client_hibernate(struct client **_client) if (ret > 0) { if (imap_hibernate_process_send(client, state, fd_notify, &fd_hibernate, &error) < 0) { - i_error("Couldn't hibernate imap client: %s", error); + e_error(client->event, + "Couldn't hibernate imap client: %s", error); ret = -1; } } diff --git a/src/imap/imap-client.c b/src/imap/imap-client.c index 9e43aac0c5..0266211553 100644 --- a/src/imap/imap-client.c +++ b/src/imap/imap-client.c @@ -301,7 +301,8 @@ const char *client_stats(struct client *client) if (var_expand_with_funcs(str, client->set->imap_logout_format, tab, mail_user_var_expand_func_table, client->user, &error) < 0) { - i_error("Failed to expand imap_logout_format=%s: %s", + e_error(client->event, + "Failed to expand imap_logout_format=%s: %s", client->set->imap_logout_format, error); } return str_c(str); diff --git a/src/imap/imap-master-client.c b/src/imap/imap-master-client.c index 9b2e2df679..5157f185e9 100644 --- a/src/imap/imap-master-client.c +++ b/src/imap/imap-master-client.c @@ -234,7 +234,8 @@ imap_master_client_input_args(struct connection *conn, const char *const *args, client->imap_client_created = TRUE; if (client_create_finish(imap_client, &error) < 0) { - i_error("imap-master(%s): %s", input.username, error); + e_error(imap_client->event, "imap-master(%s): %s", + input.username, error); client_destroy(imap_client, error); return -1; } @@ -248,7 +249,8 @@ imap_master_client_input_args(struct connection *conn, const char *const *args, !i_stream_add_data(imap_client->input, master_input.client_input->data, master_input.client_input->used)) { - i_error("imap-master: Couldn't add %zu bytes to client's input stream", + e_error(imap_client->event, + "imap-master: Couldn't add %zu bytes to client's input stream", master_input.client_input->used); client_destroy(imap_client, "Client initialization failed"); return -1; @@ -271,7 +273,8 @@ imap_master_client_input_args(struct connection *conn, const char *const *args, ret = imap_state_import_internal(imap_client, master_input.state->data, master_input.state->used, &error); if (ret <= 0) { - i_error("imap-master: Failed to import client state: %s", error); + e_error(imap_client->event, + "imap-master: Failed to import client state: %s", error); client_destroy(imap_client, "Client state initialization failed"); return -1; } diff --git a/src/imap/main.c b/src/imap/main.c index 4cf4062463..776ad53b1f 100644 --- a/src/imap/main.c +++ b/src/imap/main.c @@ -385,9 +385,10 @@ login_client_connected(const struct master_login_client *login_client, if (write_full(login_client->fd, MSG_BYE_INTERNAL_ERROR, strlen(MSG_BYE_INTERNAL_ERROR)) < 0) if (errno != EAGAIN && errno != EPIPE) - i_error("write_full(client) failed: %m"); + e_error(client->event, + "write_full(client) failed: %m"); - i_error("%s", error); + e_error(client->event, "%s", error); client_destroy(client, error); return; }