]> git.ipfire.org Git - people/ms/dnsmasq.git/commitdiff
Fix conntrack with --bind-interfaces
authorHans Dedecker <dedeckeh@gmail.com>
Tue, 9 Dec 2014 22:22:53 +0000 (22:22 +0000)
committerSimon Kelley <simon@thekelleys.org.uk>
Tue, 9 Dec 2014 22:22:53 +0000 (22:22 +0000)
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>
src/forward.c

index 2cf29eba6e268c3cd5d91e397b58fb1737bb959e..408a179a20f4194818a169b8c67c8d53d5b755de 100644 (file)
@@ -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;
        }
     }