From: Vsevolod Stakhov Date: Thu, 21 Jun 2018 11:59:43 +0000 (+0100) Subject: [Fix] Fix proxying of Exim connections X-Git-Tag: 1.7.7~75 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=ca05da58d8333c40bf6164b82190eebe08e21b15;p=rspamd.git [Fix] Fix proxying of Exim connections --- diff --git a/src/libmime/mime_parser.c b/src/libmime/mime_parser.c index d60a3fea2..0365a02b2 100644 --- a/src/libmime/mime_parser.c +++ b/src/libmime/mime_parser.c @@ -1077,26 +1077,22 @@ rspamd_mime_parse_message (struct rspamd_task *task, * Exim somehow uses mailbox format for messages being scanned: * From x@x.com Fri May 13 19:08:48 2016 * - * So we check if a task has non-http format then we check for such a line - * at the beginning to avoid errors + * Need to check that for all inputs due to proxy */ - if (!(task->flags & RSPAMD_TASK_FLAG_JSON) || (task->flags & - RSPAMD_TASK_FLAG_LOCAL_CLIENT)) { - if (len > sizeof ("From ") - 1) { - if (memcmp (p, "From ", sizeof ("From ") - 1) == 0) { - /* Skip to CRLF */ - msg_info_task ("mailbox input detected, enable workaround"); - p += sizeof ("From ") - 1; - len -= sizeof ("From ") - 1; - - while (len > 0 && *p != '\n') { - p ++; - len --; - } - while (len > 0 && g_ascii_isspace (*p)) { - p ++; - len --; - } + if (len > sizeof ("From ") - 1) { + if (memcmp (p, "From ", sizeof ("From ") - 1) == 0) { + /* Skip to CRLF */ + msg_info_task ("mailbox input detected, enable workaround"); + p += sizeof ("From ") - 1; + len -= sizeof ("From ") - 1; + + while (len > 0 && *p != '\n') { + p ++; + len --; + } + while (len > 0 && g_ascii_isspace (*p)) { + p ++; + len --; } } }