diff options
Diffstat (limited to 'networking/udhcp/leases.c')
-rw-r--r-- | networking/udhcp/leases.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/networking/udhcp/leases.c b/networking/udhcp/leases.c index d478880..4da21a2 100644 --- a/networking/udhcp/leases.c +++ b/networking/udhcp/leases.c @@ -16,6 +16,8 @@ #include "arpping.h" #include "common.h" +#include "static_leases.h" + uint8_t blank_chaddr[] = {[0 ... 15] = 0}; @@ -134,6 +136,10 @@ uint32_t find_address(int check_expired) /* ie, 192.168.55.255 */ if ((addr & 0xFF) == 0xFF) continue; + /* Only do if it isn't an assigned as a static lease */ + if(!reservedIp(server_config.static_leases, htonl(addr))) + { + /* lease is not taken */ ret = htonl(addr); if ((!(lease = find_lease_by_yiaddr(ret)) || @@ -147,5 +153,6 @@ uint32_t find_address(int check_expired) break; } } + } return 0; } |