Mercurial > dovecot > core-2.2
changeset 4024:7d7b0f427d68 HEAD
If client disconnected or gave too long APPEND command line, we didn't properly deinitialize saving, which could have caused partially written mails with mbox, or files left lying in tmp/ with maildir.
author | Timo Sirainen <timo.sirainen@movial.fi> |
---|---|
date | Fri, 17 Feb 2006 14:28:53 +0200 |
parents | b19ccbaa3802 |
children | d4c02d132a32 |
files | src/imap/cmd-append.c |
diffstat | 1 files changed, 4 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/imap/cmd-append.c Thu Feb 16 17:23:00 2006 +0200 +++ b/src/imap/cmd-append.c Fri Feb 17 14:28:53 2006 +0200 @@ -26,6 +26,7 @@ struct mail_save_context *save_ctx; }; +static void cmd_append_finish(struct cmd_append_context *ctx); static bool cmd_append_continue_message(struct client_command_context *cmd); static void client_input(void *context) @@ -38,9 +39,11 @@ switch (i_stream_read(client->input)) { case -1: /* disconnected */ + cmd_append_finish(cmd->context); client_destroy(client); return; case -2: + cmd_append_finish(cmd->context); if (client->command_pending) { /* message data, this is handled internally by mailbox_save_continue() */ @@ -54,7 +57,7 @@ client_send_command_error(cmd, "Too long argument."); _client_reset_command(client); - break; + return; } if (cmd->func(cmd)) {