diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2016-04-11 15:49:27 +0100 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2016-04-11 15:49:27 +0100 |
commit | 81929c5b676724321a3265a76467bc29c68aeade (patch) | |
tree | 691483a2981980b7479e244522ba7e7fccb0f88d /src/libmime/message.c | |
parent | d8c5060dc65e3baf7b3b94dece4251a457449aa8 (diff) | |
download | rspamd-81929c5b676724321a3265a76467bc29c68aeade.tar.gz rspamd-81929c5b676724321a3265a76467bc29c68aeade.zip |
[Feature] Save raw headers for mime parts
Diffstat (limited to 'src/libmime/message.c')
-rw-r--r-- | src/libmime/message.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/src/libmime/message.c b/src/libmime/message.c index a7a3f7439..454a635dc 100644 --- a/src/libmime/message.c +++ b/src/libmime/message.c @@ -1349,13 +1349,11 @@ mime_foreach_callback (GMimeObject * part, gpointer user_data) hdrs = g_mime_object_get_headers (GMIME_OBJECT (part)); mime_part->raw_headers = g_hash_table_new (rspamd_strcase_hash, rspamd_strcase_equal); - rspamd_mempool_add_destructor (task->task_pool, - (rspamd_mempool_destruct_t) g_hash_table_unref, - mime_part->raw_headers); + if (hdrs != NULL) { process_raw_headers (task, mime_part->raw_headers, hdrs, strlen (hdrs)); - g_free (hdrs); + mime_part->raw_headers_str = hdrs; } mime_part->type = type; @@ -1415,13 +1413,11 @@ mime_foreach_callback (GMimeObject * part, gpointer user_data) hdrs = g_mime_object_get_headers (GMIME_OBJECT (part)); mime_part->raw_headers = g_hash_table_new (rspamd_strcase_hash, rspamd_strcase_equal); - rspamd_mempool_add_destructor (task->task_pool, - (rspamd_mempool_destruct_t) g_hash_table_unref, - mime_part->raw_headers); + if (hdrs != NULL) { process_raw_headers (task, mime_part->raw_headers, hdrs, strlen (hdrs)); - g_free (hdrs); + mime_part->raw_headers_str = hdrs; } mime_part->type = type; |