summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans Dedecker <dedeckeh@gmail.com>2014-12-09 22:22:53 +0000
committerSimon Kelley <simon@thekelleys.org.uk>2014-12-09 22:22:53 +0000
commit98906275a02ae260fe3f82133bd79054f8315f06 (patch)
tree4f713536fd12ab95119b2660237c2068dfabed63
parentb9ff5c8f435173cfa616e3c398bdc089ef690a07 (diff)
downloaddnsmasq-98906275a02ae260fe3f82133bd79054f8315f06.tar.gz
Fix conntrack with --bind-interfaces
Make sure dst_addr is assigned the correct address in receive_query when OPTNOWILD is enabled so the assigned mark can be correctly retrieved and set in forward_query when conntrack is enabled. Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
-rw-r--r--src/forward.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/forward.c b/src/forward.c
index 2cf29eb..408a179 100644
--- a/src/forward.c
+++ b/src/forward.c
@@ -1048,7 +1048,7 @@ void receive_query(struct listener *listen, time_t now)
/* packet buffer overwritten */
daemon->srv_save = NULL;
- dst_addr_4.s_addr = 0;
+ dst_addr_4.s_addr = dst_addr.addr.addr4.s_addr = 0;
netmask.s_addr = 0;
if (option_bool(OPT_NOWILD) && listen->iface)
@@ -1057,7 +1057,7 @@ void receive_query(struct listener *listen, time_t now)
if (listen->family == AF_INET)
{
- dst_addr_4 = listen->iface->addr.in.sin_addr;
+ dst_addr_4 = dst_addr.addr.addr4 = listen->iface->addr.in.sin_addr;
netmask = listen->iface->netmask;
}
}