commit 4d1cd21: [Minor] Avoid code duplication

Vsevolod Stakhov vsevolod at highsecure.ru
Thu Jun 11 14:28:07 UTC 2020


Author: Vsevolod Stakhov
Date: 2020-06-11 15:26:32 +0100
URL: https://github.com/rspamd/rspamd/commit/4d1cd2128212c4db4aa8b654cb6baa2b4de3378d (HEAD -> master)

[Minor] Avoid code duplication

---
 src/libmime/message.c     | 34 +++++++++++++++-------------------
 src/libmime/mime_parser.c | 28 ----------------------------
 2 files changed, 15 insertions(+), 47 deletions(-)

diff --git a/src/libmime/message.c b/src/libmime/message.c
index eec992552..f2f22f6fe 100644
--- a/src/libmime/message.c
+++ b/src/libmime/message.c
@@ -1127,26 +1127,22 @@ rspamd_message_parse (struct rspamd_task *task)
 	 * Exim somehow uses mailbox format for messages being scanned:
 	 * From xxx at xxx.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
+	 * So we check if a task has this line to avoid possible issues
 	 */
-	if (task->cmd != CMD_CHECK_V2 || (task->protocol_flags &
-			RSPAMD_TASK_PROTOCOL_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 --;
 			}
 		}
 	}
diff --git a/src/libmime/mime_parser.c b/src/libmime/mime_parser.c
index 4fc37ad3d..f386e8c6b 100644
--- a/src/libmime/mime_parser.c
+++ b/src/libmime/mime_parser.c
@@ -1301,34 +1301,6 @@ rspamd_mime_parse_message (struct rspamd_task *task,
 		/* Top level message */
 		p = task->msg.begin;
 		len = task->msg.len;
-		/* Skip any space characters to avoid some bad messages to be unparsed */
-		while (len > 0 && g_ascii_isspace (*p)) {
-			p ++;
-			len --;
-		}
-		/*
-		 * Exim somehow uses mailbox format for messages being scanned:
-		 * From x at x.com Fri May 13 19:08:48 2016
-		 *
-		 * Need to check that for all inputs due to proxy
-		 */
-		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 --;
-				}
-			}
-		}
 
 		str.str = (gchar *)p;
 		str.len = len;


More information about the Commits mailing list