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 @@
16#include "arpping.h" 16#include "arpping.h"
17#include "common.h" 17#include "common.h"
18 18
19#include "static_leases.h"
20
19 21
20uint8_t blank_chaddr[] = {[0 ... 15] = 0}; 22uint8_t blank_chaddr[] = {[0 ... 15] = 0};
21 23
@@ -134,6 +136,10 @@ uint32_t find_address(int check_expired)
134 /* ie, 192.168.55.255 */ 136 /* ie, 192.168.55.255 */
135 if ((addr & 0xFF) == 0xFF) continue; 137 if ((addr & 0xFF) == 0xFF) continue;
136 138
139 /* Only do if it isn't an assigned as a static lease */
140 if(!reservedIp(server_config.static_leases, htonl(addr)))
141 {
142
137 /* lease is not taken */ 143 /* lease is not taken */
138 ret = htonl(addr); 144 ret = htonl(addr);
139 if ((!(lease = find_lease_by_yiaddr(ret)) || 145 if ((!(lease = find_lease_by_yiaddr(ret)) ||
@@ -147,5 +153,6 @@ uint32_t find_address(int check_expired)
147 break; 153 break;
148 } 154 }
149 } 155 }
156 }
150 return 0; 157 return 0;
151} 158}