mirror of
https://git.busybox.net/udhcp
synced 2025-05-08 13:43:45 +08:00
0.9.7 commits
This commit is contained in:
parent
4fe980fa17
commit
1d35be5808
@ -1,4 +1,8 @@
|
||||
0.9.7 (pending)
|
||||
0.9.7 (020526)
|
||||
+ Use add_lease in read_leases, sanitizes leases more, and clears out exprired
|
||||
ones if there is no more room (me)
|
||||
+ Moved udhcpd.leases to /var/lib/misc/udhcpd.leases (Debian bug #147747)
|
||||
+ Change (obsolete) AF_INET in arping.c to PF_PACKET (Debian bug #127049)
|
||||
+ Added script hook for DHCPNAK (nak), as well as providing the message option
|
||||
(me)
|
||||
+ Generate the paramaters request list by seeing what options in options.c are
|
||||
|
@ -46,7 +46,7 @@ int arpping(u_int32_t yiaddr, u_int32_t ip, unsigned char *mac, char *interface)
|
||||
time_t prevTime;
|
||||
|
||||
|
||||
if ((s = socket (AF_INET, SOCK_PACKET, htons(ETH_P_ARP))) == -1) {
|
||||
if ((s = socket (PF_PACKET, SOCK_PACKET, htons(ETH_P_ARP))) == -1) {
|
||||
LOG(LOG_ERR, "Could not open raw socket");
|
||||
return -1;
|
||||
}
|
||||
|
1
dhcpc.c
1
dhcpc.c
@ -262,6 +262,7 @@ int main(int argc, char *argv[])
|
||||
break;
|
||||
case 'v':
|
||||
printf("udhcpcd, version %s\n\n", VERSION);
|
||||
exit_client(0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -23,7 +23,7 @@ Display help.
|
||||
Interpret lease times as remaining time.
|
||||
.SH FILES
|
||||
.TP
|
||||
.I /etc/udhcpd.leases
|
||||
.I /var/lib/misc/udhcpd.leases
|
||||
Lease information file.
|
||||
.SH SEE ALSO
|
||||
.BR udhcpd (8),
|
||||
|
@ -30,7 +30,7 @@ int main (int argc, char *argv[]) {
|
||||
FILE *fp;
|
||||
int i, c, mode = REMAINING;
|
||||
long expires;
|
||||
char file[255] = "/etc/udhcpd.leases";
|
||||
char file[255] = "/var/lib/misc/udhcpd.leases";
|
||||
struct lease_t lease;
|
||||
struct in_addr addr;
|
||||
|
||||
|
19
files.c
19
files.c
@ -163,7 +163,7 @@ static struct config_keyword keywords[] = {
|
||||
{"conflict_time",read_u32,&(server_config.conflict_time),"3600"},
|
||||
{"offer_time", read_u32, &(server_config.offer_time), "60"},
|
||||
{"min_lease", read_u32, &(server_config.min_lease), "60"},
|
||||
{"lease_file", read_str, &(server_config.lease_file), "/etc/udhcpd.leases"},
|
||||
{"lease_file", read_str, &(server_config.lease_file), "/var/lib/misc/udhcpd.leases"},
|
||||
{"pidfile", read_str, &(server_config.pidfile), "/var/run/udhcpd.pid"},
|
||||
{"notify_file", read_str, &(server_config.notify_file), ""},
|
||||
{"siaddr", read_ip, &(server_config.siaddr), "0.0.0.0"},
|
||||
@ -272,21 +272,16 @@ void read_leases(char *file)
|
||||
while (i < server_config.max_leases && (fread(&lease, sizeof lease, 1, fp) == 1)) {
|
||||
/* ADDME: is it a static lease */
|
||||
if (lease.yiaddr >= server_config.start && lease.yiaddr <= server_config.end) {
|
||||
leases[i].yiaddr = lease.yiaddr;
|
||||
leases[i].expires = ntohl(lease.expires);
|
||||
if (server_config.remaining) leases[i].expires += curr;
|
||||
memcpy(leases[i].chaddr, lease.chaddr, sizeof(lease.chaddr));
|
||||
lease.expires = ntohl(lease.expires);
|
||||
if (server_config.remaining) lease.expires += curr;
|
||||
if (!(add_lease(lease.chaddr, lease.yiaddr, lease.expires))) {
|
||||
LOG(LOG_WARNING, "Too many leases while loading %s\n", file);
|
||||
break;
|
||||
}
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
DEBUG(LOG_INFO, "Read %d leases", i);
|
||||
|
||||
if (i == server_config.max_leases) {
|
||||
if (fgetc(fp) == EOF)
|
||||
/* might be helpfull to drop expired leases */
|
||||
LOG(LOG_WARNING, "Too many leases while loading %s\n", file);
|
||||
}
|
||||
fclose(fp);
|
||||
}
|
||||
|
||||
|
2
files.h
2
files.h
@ -6,7 +6,7 @@ struct config_keyword {
|
||||
char keyword[14];
|
||||
int (*handler)(char *line, void *var);
|
||||
void *var;
|
||||
char def[20];
|
||||
char def[30];
|
||||
};
|
||||
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
#!/bin/sh
|
||||
# Sample udhcpc renew script
|
||||
|
||||
RESOLV_CONF="/etc/resolv.conf"
|
||||
RESOLV_CONF="/etc/udhcpc/resolv.conf"
|
||||
|
||||
[ -n "$broadcast" ] && BROADCAST="broadcast $broadcast"
|
||||
[ -n "$subnet" ] && NETMASK="netmask $subnet"
|
||||
|
@ -57,7 +57,7 @@ interface eth0 #default: eth0
|
||||
|
||||
# The location of the leases file
|
||||
|
||||
#lease_file /etc/udhcpd.leases #defualt: /etc/udhcpd.leases
|
||||
#lease_file /var/lib/misc/udhcpd.leases #defualt: /var/lib/misc/udhcpd.leases
|
||||
|
||||
# The location of the pid file
|
||||
#pidfile /var/run/udhcpd.pid #default: /var/run/udhcpd.pid
|
||||
|
2
udhcpd.8
2
udhcpd.8
@ -10,7 +10,7 @@ The udhcp server negotiates leases with DHCP clients.
|
||||
.I /etc/udhcpd.conf
|
||||
Configuration file.
|
||||
.TP
|
||||
.I /etc/udhcpd.leases
|
||||
.I /var/lib/misc/udhcpd.leases
|
||||
Lease information file.
|
||||
.SH SEE ALSO
|
||||
.BR dumpleases (1),
|
||||
|
@ -78,7 +78,7 @@ seconds. The default is
|
||||
Write the lease information to
|
||||
.IR FILE .
|
||||
The default is
|
||||
.BR /etc/udhcpd.leases .
|
||||
.BR /var/lib/misc/udhcpd.leases .
|
||||
.TP
|
||||
.BI pidfile\ FILE
|
||||
Write the process ID to
|
||||
|
Loading…
x
Reference in New Issue
Block a user