From 18c63eff8f14473da47b33dcc92494dae40474a2 Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Mon, 21 May 2012 14:34:15 +0100 Subject: [PATCH] Fix non-response to router-solicitations when router-advertisement configured, but DHCPv6 not configured. --- CHANGELOG | 4 ++++ src/dnsmasq.c | 11 ++++------- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index a18e111..11d4c7f 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -12,6 +12,10 @@ version 2.62 which are not divisible by 8. Thanks to Andre Coetzee for spotting this. + Fix non-response to router-solicitations when + router-advertisement configured, but DHCPv6 not + configured. Thanks to Marien Zwart for the patch. + version 2.61 Re-write interface discovery code on *BSD to use diff --git a/src/dnsmasq.c b/src/dnsmasq.c index 1b951f0..a6237ba 100644 --- a/src/dnsmasq.c +++ b/src/dnsmasq.c @@ -849,14 +849,11 @@ int main (int argc, char **argv) } #ifdef HAVE_DHCP6 - if (daemon->dhcp6) - { - if (FD_ISSET(daemon->dhcp6fd, &rset)) - dhcp6_packet(now); + if (daemon->dhcp6 && FD_ISSET(daemon->dhcp6fd, &rset)) + dhcp6_packet(now); - if (daemon->ra_contexts && FD_ISSET(daemon->icmp6fd, &rset)) - icmp6_packet(); - } + if (daemon->ra_contexts && FD_ISSET(daemon->icmp6fd, &rset)) + icmp6_packet(); #endif # ifdef HAVE_SCRIPT