diff options
author | Eric Andersen | 2004-10-08 08:49:26 +0000 |
---|---|---|
committer | Eric Andersen | 2004-10-08 08:49:26 +0000 |
commit | abf58d6ba5df9bbe04c4c7008cbbc8c7dc626392 (patch) | |
tree | c64a5328d250449c9a4e3964d59a657543e06440 /networking/udhcp/leases.c | |
parent | 751750e3ee0195eef802a1554e97712285bf8fd7 (diff) | |
download | busybox-abf58d6ba5df9bbe04c4c7008cbbc8c7dc626392.zip busybox-abf58d6ba5df9bbe04c4c7008cbbc8c7dc626392.tar.gz |
Wade Berrier writes:
Hello,
Here's a patch for a first attempt at static leases for udhcpd.
Included in the tarball are 2 files (static_leases.c, static_leases.h)
and a patch against the latest cvs.
In the config file you can configure static leases with the following
format:
static_lease 00:60:08:11:CE:4E 192.168.0.54
static_lease 00:60:08:11:CE:3E 192.168.0.44
Comments/suggestions/improvements are welcome.
Wade
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; } |