On 09/10/2022 06:12, Mark Dietzer wrote:
Disregard that previous reply, for some reason it spuriously worked (maybe keepalived temporarily lost my /32 addresses on the interface I am using). Either way, something is broken. My full setup, in case it matters, is that I have interfaces with a /16 (the main IP) and multiple /32 (keepalived VRRP failover IPs) and dnsmasq will pick up the /32s and then for a record, say "0.0.0.123", return the full original interface IP (because of course it is a /32 IP it latches onto, which has no subnet bits). I assumed (and still assume) this check is supposed to exclude such IPs? Or am I completely wrong here?
I think you are on the right track, and you even described the correct fix in your first mail
"My assumption is the intention here was to check for /32 (so 0xFFFFFFFF)?" but then checked for zero in your patch. Changing if (netmask.s_addr == 0xffff) to if (netmask.s_addr == 0xffffffff) Should fix things. I'll apply that patch. Cheers, Simon. _______________________________________________ Dnsmasq-discuss mailing list Dnsmasq-discuss@lists.thekelleys.org.uk https://lists.thekelleys.org.uk/cgi-bin/mailman/listinfo/dnsmasq-discuss