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