0.9.7 commits

This commit is contained in:
Russ Dill 2002-05-27 06:18:49 +00:00
parent 4fe980fa17
commit 1d35be5808
11 changed files with 21 additions and 21 deletions

View File

@ -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

View File

@ -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;
}

View File

@ -262,6 +262,7 @@ int main(int argc, char *argv[])
break;
case 'v':
printf("udhcpcd, version %s\n\n", VERSION);
exit_client(0);
break;
}
}

View File

@ -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),

View File

@ -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
View File

@ -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);
}

View File

@ -6,7 +6,7 @@ struct config_keyword {
char keyword[14];
int (*handler)(char *line, void *var);
void *var;
char def[20];
char def[30];
};

View File

@ -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"

View File

@ -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

View File

@ -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),

View File

@ -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