When thinking about this again, maybe it would be safer to make it not
compiled by define at compile time, before we remove that additional
check altogether?
I have hit this comment once too. And wondered why we need such hacks
long after Windows XP are history.
Do we have any proposal, how to make such workarounds, if we need to
work with ancient broken systems? Would declaring explicit dhcp-host
with 0 and 255 final prevent assigning that to new system, if needed?
dhcp-range=192.168.0.1,192.168.1.254,255,255,254.0
# would this prevent leasing this address instead?
dhcp-host=reserved01,192.168.0.255
dhcp-host=reserved02,192.168.1.0
I think it should be possible to move this from the code to the
documentation, but just removing safe-guards without alternatives seems
risky. Recommended replacement should be somehow specified. Would
specification of two dhcp-range work, one for 192.168.0.* and
192.168.1.* separately, if I want to avoid some addresses? Even if the
real netmask on interface is 192.168.0.1/23?
Cheers,
Petr
On 24/09/2024 08:52, Jan Ceuleers wrote:
Signed-off-by: Jan Ceuleers <jan.ceule...@gmail.com>
Reviewed-by: Wang Xiaobo <xiangbo.w...@nokia-sbell.com>
---
src/dhcp.c | 9 +--------
1 file changed, 1 insertion(+), 8 deletions(-)
diff --git a/src/dhcp.c b/src/dhcp.c
index b65facd..586117d 100644
--- a/src/dhcp.c
+++ b/src/dhcp.c
@@ -821,16 +821,9 @@ int address_allocate(struct dhcp_context *context,
if (addr.s_addr == d->router.s_addr)
break;
- /* Addresses which end in .255 and .0 are broken in Windows even when using
- supernetting. ie
dhcp-range=192.168.0.1,192.168.1.254,255,255,254.0
- then 192.168.0.255 is a valid IP address, but not for Windows as
it's
- in the class C range. See KB281579. We therefore don't allocate
these
- addresses to avoid hard-to-diagnose problems. Thanks Bill. */
if (!d &&
!lease_find_by_addr(addr) &&
- !config_find_by_address(daemon->dhcp_conf, addr) &&
- (!IN_CLASSC(ntohl(addr.s_addr)) ||
- ((ntohl(addr.s_addr) & 0xff) != 0xff && ((ntohl(addr.s_addr) &
0xff) != 0x0))))
+ !config_find_by_address(daemon->dhcp_conf, addr))
{
/* in consec-ip mode, skip addresses equal to
the number of addresses rejected by clients. This
--
Petr Menšík
Software Engineer, RHEL
Red Hat, https://www.redhat.com/
PGP: DFCF908DB7C87E8E529925BC4931CA5B6C9FC5CB
_______________________________________________
Dnsmasq-discuss mailing list
Dnsmasq-discuss@lists.thekelleys.org.uk
https://lists.thekelleys.org.uk/cgi-bin/mailman/listinfo/dnsmasq-discuss