From d19de7c6034b03309d84073c4e482f9fbcd3c349 Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Thu, 16 Jul 2009 17:30:03 +0400 Subject: * Fix 'cc' urls parsing * Add function has_fake_html for determine fake html parts (without any tags) --- src/expressions.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'src/expressions.c') diff --git a/src/expressions.c b/src/expressions.c index 13b426ec7..9b3b9bf2f 100644 --- a/src/expressions.c +++ b/src/expressions.c @@ -46,6 +46,7 @@ gboolean rspamd_is_recipients_sorted (struct worker_task *task, GList *args); gboolean rspamd_compare_transfer_encoding (struct worker_task *task, GList *args); gboolean rspamd_is_html_balanced (struct worker_task *task, GList *args); gboolean rspamd_has_html_tag (struct worker_task *task, GList *args); +gboolean rspamd_has_fake_html (struct worker_task *task, GList *args); /* * List of internal functions of rspamd @@ -65,6 +66,7 @@ static struct _fl { { "content_type_is_type", rspamd_content_type_is_type }, { "has_content_part", rspamd_has_content_part }, { "has_content_part_len", rspamd_has_content_part_len }, + { "has_fake_html", rspamd_has_fake_html }, { "has_html_tag", rspamd_has_html_tag }, { "has_only_html_part", rspamd_has_only_html_part }, { "header_exists", rspamd_header_exists }, @@ -1606,6 +1608,28 @@ rspamd_has_html_tag (struct worker_task *task, GList *args) } +gboolean +rspamd_has_fake_html (struct worker_task *task, GList *args) +{ + struct mime_text_part *p; + GList *cur; + gboolean res = FALSE; + + cur = g_list_first (task->text_parts); + + while (cur && res == FALSE) { + p = cur->data; + if (p->is_html && p->html_nodes == NULL) { + res = TRUE; + } + cur = g_list_next (cur); + } + + return res; + +} + + /* * vi:ts=4 */ -- cgit v1.2.3