diff options
author | Vsevolod Stakhov <vsevolod@rambler-co.ru> | 2009-03-24 13:13:57 +0300 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@rambler-co.ru> | 2009-03-24 13:13:57 +0300 |
commit | a0320ce847fb75f83e3c060ece2751f3d6684f05 (patch) | |
tree | 23c5e625f62f193a472fdf7aaa66c09ac339e6ca /src/expressions.c | |
parent | e894cd18cf4ce43dc63c71fecb69efd7e25e68f9 (diff) | |
download | rspamd-a0320ce847fb75f83e3c060ece2751f3d6684f05.tar.gz rspamd-a0320ce847fb75f83e3c060ece2751f3d6684f05.zip |
* Add smart handling of message headers
Diffstat (limited to 'src/expressions.c')
-rw-r--r-- | src/expressions.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/expressions.c b/src/expressions.c index eefd11f78..46a4f17fe 100644 --- a/src/expressions.c +++ b/src/expressions.c @@ -585,6 +585,7 @@ gboolean rspamd_header_exists (struct worker_task *task, GList *args) { struct expression_argument *arg; + GList *headerlist; if (args == NULL || task == NULL) { return FALSE; @@ -595,11 +596,13 @@ rspamd_header_exists (struct worker_task *task, GList *args) msg_warn ("rspamd_header_exists: invalid argument to function is passed"); return FALSE; } -#ifdef GMIME24 - return (g_mime_object_get_header (GMIME_OBJECT (task->message), (char *)arg->data) != NULL); -#else - return (g_mime_message_get_header (task->message, (char *)arg->data) != NULL); -#endif + + headerlist = message_get_header (task->message, (char *)arg->data); + if (headerlist) { + g_list_free (headerlist); + return TRUE; + } + return FALSE; } /* |