aboutsummaryrefslogtreecommitdiff
path: root/networking/udhcp/leases.c
diff options
context:
space:
mode:
Diffstat (limited to 'networking/udhcp/leases.c')
-rw-r--r--networking/udhcp/leases.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/networking/udhcp/leases.c b/networking/udhcp/leases.c
index d478880a3..4da21a23b 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;
}