dovecot-2.2: imap: Fixed error handling in APPEND parameters.
dovecot at dovecot.org
dovecot at dovecot.org
Sun May 20 03:26:25 EEST 2012
details: http://hg.dovecot.org/dovecot-2.2/rev/5a62b55914c4
changeset: 14275:5a62b55914c4
user: Timo Sirainen <tss at iki.fi>
date: Sun Mar 04 12:50:02 2012 +0200
description:
imap: Fixed error handling in APPEND parameters.
diffstat:
src/imap/cmd-append.c | 13 +++++++++----
1 files changed, 9 insertions(+), 4 deletions(-)
diffs (33 lines):
diff -r 509206065d33 -r 5a62b55914c4 src/imap/cmd-append.c
--- a/src/imap/cmd-append.c Sun Mar 04 12:31:26 2012 +0200
+++ b/src/imap/cmd-append.c Sun Mar 04 12:50:02 2012 +0200
@@ -227,11 +227,11 @@
enum mail_flags flags;
const char *const *keywords_list;
struct mail_keywords *keywords;
- const char *internal_date_str;
+ const char *internal_date_str, *msg;
time_t internal_date;
int ret, timezone_offset;
unsigned int save_count;
- bool nonsync;
+ bool nonsync, fatal;
if (cmd->cancel) {
cmd_append_finish(ctx);
@@ -245,8 +245,13 @@
ret = imap_parser_read_args(ctx->save_parser, 0,
IMAP_PARSE_FLAG_LITERAL_SIZE, &args);
if (ret == -1) {
- if (!ctx->failed)
- client_send_command_error(cmd, NULL);
+ if (!ctx->failed) {
+ msg = imap_parser_get_error(ctx->save_parser, &fatal);
+ if (fatal)
+ client_disconnect_with_error(client, msg);
+ else
+ client_send_command_error(cmd, msg);
+ }
cmd_append_finish(ctx);
return TRUE;
}
More information about the dovecot-cvs
mailing list