]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-smtp: command parser: Provide more details in command data size limit error.
authorStephan Bosch <stephan.bosch@dovecot.fi>
Fri, 6 Apr 2018 23:03:58 +0000 (01:03 +0200)
committerVille Savolainen <ville.savolainen@dovecot.fi>
Mon, 28 May 2018 06:16:13 +0000 (09:16 +0300)
src/lib-smtp/smtp-command-parser.c

index f8db62bc1ce4fc0f297d44c30d7e8394a3dc6d14..768cba35b57f59da88147c714758205a5f54e116 100644 (file)
@@ -477,7 +477,9 @@ smtp_command_parse_data_with_size(struct smtp_command_parser *parser,
        if (size > parser->limits.max_data_size) {
                /* not supposed to happen; command should check size */
                parser->data = i_stream_create_error_str(EMSGSIZE, 
-                       "Command data size exceeds maximum");
+                       "Command data size exceeds maximum "
+                       "(%"PRIuUOFF_T" > %"PRIuUOFF_T")",
+                       size, parser->limits.max_data_size);
        } else {
                // FIXME: make exact_size stream type
                parser->data = i_stream_create_min_sized(
@@ -497,7 +499,9 @@ smtp_command_parse_data_with_dot(struct smtp_command_parser *parser)
        if (parser->limits.max_data_size != (uoff_t)-1) {
                parser->data = i_stream_create_failure_at(
                        data, parser->limits.max_data_size, EMSGSIZE,
-                       "Command data size exceeds maximum");
+                       t_strdup_printf("Command data size exceeds maximum "
+                                       "(> %"PRIuUOFF_T")",
+                                       parser->limits.max_data_size));
                i_stream_unref(&data);
        } else {
                parser->data = data;