summaryrefslogtreecommitdiffstats
path: root/src/libserver/dns.c
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2016-11-28 10:16:06 +0000
committerVsevolod Stakhov <vsevolod@highsecure.ru>2016-11-28 10:16:06 +0000
commit3b9b23600f97365585c32827c0b6df4b620c8653 (patch)
treea38293e6ab20d131f4f0cf6e3737b0c373854305 /src/libserver/dns.c
parent2a1dc20915e6a0375dbc38761954e1aee383ac98 (diff)
downloadrspamd-3b9b23600f97365585c32827c0b6df4b620c8653.tar.gz
rspamd-3b9b23600f97365585c32827c0b6df4b620c8653.zip
[Fix] Do not resolve numeric IP addresses due to ipv6 insanity
Diffstat (limited to 'src/libserver/dns.c')
-rw-r--r--src/libserver/dns.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/libserver/dns.c b/src/libserver/dns.c
index 34b685260..b6a38dab0 100644
--- a/src/libserver/dns.c
+++ b/src/libserver/dns.c
@@ -216,6 +216,8 @@ rspamd_dns_server_init (struct upstream *up, gpointer ud)
rspamd_inet_address_get_port (addr), 0, 8);
}
+ g_assert (serv != NULL);
+
elt = g_slice_alloc0 (sizeof (*elt));
elt->server = serv;
elt->lib_data = up;
@@ -265,6 +267,8 @@ dns_resolver_init (rspamd_logger_t *logger,
}
else {
dns_resolver->ups = rspamd_upstreams_create (cfg->ups_ctx);
+ rspamd_upstreams_set_flags (dns_resolver->ups,
+ RSPAMD_UPSTREAM_FLAG_NORESOLVE);
if (!rspamd_upstreams_from_ucl (dns_resolver->ups, cfg->nameservers,
53, dns_resolver)) {
@@ -277,7 +281,6 @@ dns_resolver_init (rspamd_logger_t *logger,
rspamd_upstreams_foreach (dns_resolver->ups, rspamd_dns_server_init,
dns_resolver);
- rspamd_upstreams_set_flags (dns_resolver->ups, RSPAMD_UPSTREAM_FLAG_NORESOLVE);
rdns_resolver_set_upstream_lib (dns_resolver->r, &rspamd_ups_ctx,
dns_resolver->ups);
}