From 98906275a02ae260fe3f82133bd79054f8315f06 Mon Sep 17 00:00:00 2001 From: Hans Dedecker Date: Tue, 9 Dec 2014 22:22:53 +0000 Subject: [PATCH] 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 --- src/forward.c | 4 ++-- 1 file 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; } }