]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
imap: Use internal error for logging FETCH failed disconnection message
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Tue, 2 Mar 2021 17:30:23 +0000 (19:30 +0200)
committeraki.tuomi <aki.tuomi@open-xchange.com>
Thu, 11 Mar 2021 11:19:09 +0000 (11:19 +0000)
src/imap/cmd-fetch.c

index 1e4bd2a01ff3d5f9583122cabb822a833a1b7acc..d05d8d197561b85fd8b403a3ba9c8adc65f79f9f 100644 (file)
@@ -247,8 +247,12 @@ static bool cmd_fetch_finish(struct imap_fetch_context *ctx,
                           requests, because many IMAP clients become confused
                           about what they should on NO. A disconnection causes
                           less confusion. */
-                       client_disconnect_with_error(cmd->client,
-                               t_strconcat("FETCH failed: ", client_error, NULL));
+                       const char *internal_error =
+                               mailbox_get_last_internal_error(cmd->client->mailbox, NULL);
+                       client_send_line(cmd->client, t_strconcat(
+                               "* BYE FETCH failed: ", client_error, NULL));
+                       client_disconnect(cmd->client, t_strconcat(
+                               "FETCH failed: ", internal_error, NULL));
                        imap_fetch_free(&ctx);
                        return TRUE;
                } else {