aboutsummaryrefslogtreecommitdiffstats
path: root/src/libserver
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2015-01-30 01:52:51 +0000
committerVsevolod Stakhov <vsevolod@highsecure.ru>2015-01-30 01:52:51 +0000
commitef18538d25cc8e39fd0eb71424cecef516412d90 (patch)
treea7d08825a6dbf6ef2e1f0d1fd3d7e580b4436307 /src/libserver
parentc0eb463d07e1535ced7152775fc005c399dd3d9b (diff)
downloadrspamd-ef18538d25cc8e39fd0eb71424cecef516412d90.tar.gz
rspamd-ef18538d25cc8e39fd0eb71424cecef516412d90.zip
Add workaround for parsing encrypted messages.
Diffstat (limited to 'src/libserver')
-rw-r--r--src/libserver/task.c12
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 */