From 3a3f36fa5ec1d9a08cc0365dcafc5dc5d2cc7d08 Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Tue, 9 Jun 2015 14:49:05 +0100 Subject: [PATCH] Fix DNSless run. --- src/libserver/dns.c | 7 +++++++ src/worker.c | 3 +++ 2 files changed, 10 insertions(+) diff --git a/src/libserver/dns.c b/src/libserver/dns.c index 84fb24d3c9..6c32ae205d 100644 --- a/src/libserver/dns.c +++ b/src/libserver/dns.c @@ -81,6 +81,12 @@ make_dns_request (struct rspamd_dns_resolver *resolver, struct rdns_request *req; struct rspamd_dns_request_ud *reqdata = NULL; + g_assert (resolver != NULL); + + if (resolver->r == NULL) { + return FALSE; + } + if (pool != NULL) { reqdata = rspamd_mempool_alloc (pool, sizeof (struct rspamd_dns_request_ud)); @@ -155,6 +161,7 @@ dns_resolver_init (rspamd_logger_t *logger, msg_err ( "cannot parse resolv.conf and no nameservers defined, so no ways to resolve addresses"); rdns_resolver_release (new->r); + new->r = NULL; return new; } diff --git a/src/worker.c b/src/worker.c index 3d9c7dabee..61a40d25ba 100644 --- a/src/worker.c +++ b/src/worker.c @@ -147,6 +147,9 @@ rspamd_worker_finish_handler (struct rspamd_http_connection *conn, rspamd_inet_address_to_string (task->client_addr)); rspamd_session_destroy (task->s); } + else if (task->processed_stages & RSPAMD_TASK_STAGE_DONE) { + rspamd_session_pending (task->s); + } return 0; } -- 2.47.3