From cea1e53319b03839c0808eca1c41f2524723dbf4 Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Fri, 3 Jul 2009 20:17:10 +0400 Subject: [PATCH] * Check return value from evdns_resolve * Do not parse html parts double time while extracting urls, just parse tags attributes --- src/html.c | 2 +- src/message.c | 2 ++ src/plugins/surbl.c | 5 +++-- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/html.c b/src/html.c index 6e7b683e9..8585f4062 100644 --- a/src/html.c +++ b/src/html.c @@ -328,7 +328,7 @@ parse_tag_url (struct worker_task *task, struct mime_text_part *part, tag_id_t i if (len == 0 || g_ascii_strncasecmp (c, "http://", sizeof ("http://") - 1) != 0) { return; } - + url_text = memory_pool_alloc (task->task_pool, len + 1); g_strlcpy (url_text, c, len + 1); url = memory_pool_alloc (task->task_pool, sizeof (struct uri)); diff --git a/src/message.c b/src/message.c index 9afc4fa19..c83899241 100644 --- a/src/message.c +++ b/src/message.c @@ -311,7 +311,9 @@ process_text_part (struct worker_task *task, GByteArray *part_content, GMimeCont } else { url_parse_text (task->task_pool, task, text_part, FALSE); +#if 0 url_parse_text (task->task_pool, task, text_part, TRUE); +#endif } text_part->fuzzy = fuzzy_init_byte_array (text_part->content, task->task_pool); diff --git a/src/plugins/surbl.c b/src/plugins/surbl.c index f0347f550..3e00b0e73 100644 --- a/src/plugins/surbl.c +++ b/src/plugins/surbl.c @@ -384,8 +384,9 @@ make_surbl_requests (struct uri* url, struct worker_task *task, GTree *tree) param->host_resolve = memory_pool_strdup (task->task_pool, surbl_req); *host_end = '.'; msg_debug ("surbl_test_url: send surbl dns request %s", surbl_req); - evdns_resolve_ipv4 (surbl_req, DNS_QUERY_NO_SEARCH, dns_callback, (void *)param); - param->task->save.saved ++; + if (evdns_resolve_ipv4 (surbl_req, DNS_QUERY_NO_SEARCH, dns_callback, (void *)param) == 0) { + param->task->save.saved ++; + } } else { msg_debug ("make_surbl_requests: request %s is already sent", surbl_req); -- 2.39.5