From 10ae7b50f246466860043fc05812b83eeb440e59 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Thu, 5 Sep 2013 20:08:01 +0100 Subject: [PATCH] Don't use BINDTODEVICE on DHCP socket when relaying. --- src/dnsmasq.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/dnsmasq.c b/src/dnsmasq.c index 4663591..5c65f81 100644 --- a/src/dnsmasq.c +++ b/src/dnsmasq.c @@ -237,16 +237,17 @@ int main (int argc, char **argv) #if defined(HAVE_LINUX_NETWORK) && defined(HAVE_DHCP) /* after enumerate_interfaces() */ - if (daemon->dhcp || daemon->relay4) + if (daemon->dhcp) { - bindtodevice(daemon->dhcpfd); + if (!daemon->relay4) + bindtodevice(daemon->dhcpfd); if (daemon->enable_pxe) bindtodevice(daemon->pxefd); } #endif #if defined(HAVE_LINUX_NETWORK) && defined(HAVE_DHCP6) - if (daemon->doing_dhcp6 || daemon->relay6) + if (daemon->doing_dhcp6 && !daemon->relay6) bindtodevice(daemon->dhcp6fd); #endif }