Am 03.12.2013 12:11, schrieb Simon Kelley: >> Could you double-check iface_allowed_v6() and the network enumeration >> code that calls it, and the code in network.c:703 that calls bind()? >> Either needs to zero out the scope_id for non-link-local i'faces. > > That looks like a very good diagnosis: zeroing the scope_id in the > appropriate cases should be easy. I wonder why this has just struck, the > code has been like that for some time, and never previuosly hit a > problem. FreeBSD change?
I don't think so - I rather suspect that this is a rare occasion and I was the first to see and report it. It would seem we have four nondefault constraints for the bug to show: 1. IPv6 needs to be enabled on the external interface 2. a global IPv6 needs to be configured, either manually, or autoconfigured from an external router 3. dnsmasq needs to be installed 4. dnsmasq needs to use --bind-interfaces. > I'm thinking of having a small tattoo, in a visible (to me) place that > reads "REMEMBER: IPv6 is not IPv4". :) > It's not a martian problem, it's the Weak End System Model which is used > by Linux. I don't know if that's used by FreeBSD. I have never bothered to check, yet. > The standard fix is to use --bind-dynamic, which can rely on the > existence of the extended API. Unfortunately that doesn't work on > FreeBSD because it also relies on a a method of getting asynchronous > events when interfaces/address come and go. Does FreeBSD have an > equivalent of the Linux netlink socket? I'm not aware of one, and address changes do not appear through devctl(4). This would best be asked on FreeBSD-hackers or similar lists. _______________________________________________ Dnsmasq-discuss mailing list Dnsmasq-discuss@lists.thekelleys.org.uk http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss