summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2016-01-22 16:47:51 +0000
committerVsevolod Stakhov <vsevolod@highsecure.ru>2016-01-22 16:47:51 +0000
commit72e0f69705b0bc61d06f32ab61a2e22fec884609 (patch)
tree224b173691bdb143292aea450b30f6f534cfe61d
parent1d037bded2a3923b18cf5d0ba6d92956a361aea8 (diff)
downloadrspamd-72e0f69705b0bc61d06f32ab61a2e22fec884609.tar.gz
rspamd-72e0f69705b0bc61d06f32ab61a2e22fec884609.zip
Add broken headers flag
-rw-r--r--src/libmime/message.c2
-rw-r--r--src/libserver/task.h1
2 files changed, 3 insertions, 0 deletions
diff --git a/src/libmime/message.c b/src/libmime/message.c
index 854b9e561..da34ac9ca 100644
--- a/src/libmime/message.c
+++ b/src/libmime/message.c
@@ -598,6 +598,8 @@ process_raw_headers (struct rspamd_task *task, GHashTable *target,
break;
case 100:
/* Fail state, skip line */
+ task->flags |= RSPAMD_TASK_FLAG_BROKEN_HEADERS;
+
if (*p == '\r') {
if (*(p + 1) == '\n') {
p++;
diff --git a/src/libserver/task.h b/src/libserver/task.h
index 45e8826db..914bbe7b9 100644
--- a/src/libserver/task.h
+++ b/src/libserver/task.h
@@ -116,6 +116,7 @@ enum rspamd_task_stage {
#define RSPAMD_TASK_FLAG_LEARN_SPAM (1 << 16)
#define RSPAMD_TASK_FLAG_LEARN_HAM (1 << 17)
#define RSPAMD_TASK_FLAG_LEARN_AUTO (1 << 18)
+#define RSPAMD_TASK_FLAG_BROKEN_HEADERS (1 << 19)
#define RSPAMD_TASK_IS_SKIPPED(task) (((task)->flags & RSPAMD_TASK_FLAG_SKIP))
#define RSPAMD_TASK_IS_JSON(task) (((task)->flags & RSPAMD_TASK_FLAG_JSON))