[Dnsmasq-discuss] [BUG] dnsmasq "dynamic-hosts" ignores /16 IPv4 addresses on interfaces entirely
Simon Kelley
simon at thekelleys.org.uk
Thu Oct 13 13:59:18 UTC 2022
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.
More information about the Dnsmasq-discuss
mailing list