From: Vsevolod Stakhov Date: Fri, 12 Jun 2015 19:43:27 +0000 (-0400) Subject: Fix dependencies for surbl module. X-Git-Tag: 1.0.0~545 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=05c27703d2a9ea0e6746fa4ea31956b7b7bdb49d;p=thirdparty%2Frspamd.git Fix dependencies for surbl module. --- diff --git a/src/plugins/surbl.c b/src/plugins/surbl.c index 7528a802d6..07ccda52ff 100644 --- a/src/plugins/surbl.c +++ b/src/plugins/surbl.c @@ -855,10 +855,13 @@ make_surbl_requests (struct rspamd_url *url, struct rspamd_task *task, param->host_resolve = rspamd_mempool_strdup (task->task_pool, surbl_req); debug_task ("send surbl dns request %s", surbl_req); + if (make_dns_request (task->resolver, task->s, task->task_pool, dns_callback, (void *)param, RDNS_REQUEST_A, surbl_req)) { task->dns_requests++; + param->w = rspamd_session_get_watcher (task->s); + rspamd_session_watcher_push (task->s); } } else if (err != NULL && err->code != WHITELIST_ERROR && err->code != @@ -934,6 +937,8 @@ dns_callback (struct rdns_reply *reply, gpointer arg) param->task->message_id, param->host_resolve, param->suffix->suffix); } + + rspamd_session_watcher_pop (param->task->s, param->w); } static void diff --git a/src/plugins/surbl.h b/src/plugins/surbl.h index e7342be528..76f2bafb9d 100644 --- a/src/plugins/surbl.h +++ b/src/plugins/surbl.h @@ -53,6 +53,7 @@ struct dns_param { struct rspamd_task *task; gchar *host_resolve; struct suffix_item *suffix; + struct rspamd_async_watcher *w; }; struct redirector_param {