]> source.dussan.org Git - rspamd.git/commitdiff
[Fix] Fix proxying of Exim connections
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Thu, 21 Jun 2018 11:59:43 +0000 (12:59 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Thu, 21 Jun 2018 11:59:43 +0000 (12:59 +0100)
src/libmime/mime_parser.c

index d60a3fea291b0627e43075c3734a29c6957de3a3..0365a02b25cc12018a963b0e4ccc5e45edfee6ae 100644 (file)
@@ -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 --;
                                }
                        }
                }