diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2015-01-30 01:52:51 +0000 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2015-01-30 01:52:51 +0000 |
commit | ef18538d25cc8e39fd0eb71424cecef516412d90 (patch) | |
tree | a7d08825a6dbf6ef2e1f0d1fd3d7e580b4436307 /src/libserver | |
parent | c0eb463d07e1535ced7152775fc005c399dd3d9b (diff) | |
download | rspamd-ef18538d25cc8e39fd0eb71424cecef516412d90.tar.gz rspamd-ef18538d25cc8e39fd0eb71424cecef516412d90.zip |
Add workaround for parsing encrypted messages.
Diffstat (limited to 'src/libserver')
-rw-r--r-- | src/libserver/task.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/libserver/task.c b/src/libserver/task.c index 3136001d6..b8d042dc6 100644 --- a/src/libserver/task.c +++ b/src/libserver/task.c @@ -305,8 +305,16 @@ rspamd_task_process (struct rspamd_task *task, return FALSE; } - task->msg = msg->body; - + /* XXX: awful hack */ + if (msg->peer_key != NULL) { + task->msg = rspamd_mempool_alloc (task->task_pool, sizeof (GString)); + task->msg->len = msg->body->len - 16; + task->msg->allocated_len = 0; + task->msg->str = msg->body->str + 16; + } + else { + task->msg = msg->body; + } debug_task ("got string of length %z", task->msg->len); /* We got body, set wanna_die flag */ |