summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTed Lemon <source@isc.org>1997-03-05 08:38:20 +0000
committerTed Lemon <source@isc.org>1997-03-05 08:38:20 +0000
commit77967680f88a3c59d82d75680bbc7ea86f9bec60 (patch)
tree8e11bc7ba992d8acff3159ce0ab6b5e8b7308737
parent9fd2f2cbd86d13eb96096e9524af101dd89bbfc3 (diff)
downloadisc-dhcp-77967680f88a3c59d82d75680bbc7ea86f9bec60.tar.gz
behave differently if we got a renewal via INIT-REBOOT
-rw-r--r--client/dhclient.c8
-rwxr-xr-xclient/scripts/netbsd6
2 files changed, 8 insertions, 6 deletions
diff --git a/client/dhclient.c b/client/dhclient.c
index 4f81b3a1..a0c4dfd1 100644
--- a/client/dhclient.c
+++ b/client/dhclient.c
@@ -56,7 +56,7 @@
#ifndef lint
static char copyright[] =
-"$Id: dhclient.c,v 1.29 1997/03/05 06:30:08 mellon Exp $ Copyright (c) 1995, 1996 The Internet Software Consortium. All rights reserved.\n";
+"$Id: dhclient.c,v 1.30 1997/03/05 08:38:02 mellon Exp $ Copyright (c) 1995, 1996 The Internet Software Consortium. All rights reserved.\n";
#endif /* not lint */
#include "dhcpd.h"
@@ -456,8 +456,10 @@ void dhcpack (packet)
? "BOUND"
: (ip -> client -> state == S_RENEWING
? "RENEW"
- : "REBIND")), ip -> client -> new -> medium);
- if (ip -> client -> active)
+ : (ip -> client -> state == S_REBOOTING
+ ? "REBOOT" : "REBIND"))),
+ ip -> client -> new -> medium);
+ if (ip -> client -> active && ip -> client -> state != S_REBOOTING)
script_write_params (ip, "old_", ip -> client -> active);
script_write_params (ip, "new_", ip -> client -> new);
if (ip -> client -> alias)
diff --git a/client/scripts/netbsd b/client/scripts/netbsd
index c734ef8e..01d82f12 100755
--- a/client/scripts/netbsd
+++ b/client/scripts/netbsd
@@ -38,8 +38,8 @@ if [ x$reason = xARPCHECK ] || [ x$reason = xARPSEND ]; then
exit 0;
fi
-if [ x$reason = xBOUND ] || [ x$reason = xRENEW ] || [ x$reason = xREBIND ];
- then
+if [ x$reason = xBOUND ] || [ x$reason = xRENEW ] || \
+ [ x$reason = xREBIND ] || [ x$reason = xREBOOT ]; then
if [ x$old_ip_address != x ] && [ x$alias_ip_address != x ] && \
[ x$alias_ip_address != x$old_ip_address ]; then
ifconfig $interface inet -alias $alias_ip_address > /dev/null 2>&1
@@ -54,7 +54,7 @@ if [ x$reason = xBOUND ] || [ x$reason = xRENEW ] || [ x$reason = xREBIND ];
arp -a | sed -n -e 's/^.*(\(.*\)) at .*$/arp -d \1/p' |sh
fi
if [ x$old_ip_address = x ] || [ x$old_ip_address != x$new_ip_address ] || \
- [ x$reason = xBOUND ]; then
+ [ x$reason = xBOUND ] || [ x$reason = xREBOOT ]; then
ifconfig $interface inet $new_ip_address $new_subnet_arg \
$new_broadcast_arg $medium
route add $new_ip_address 127.1 >/dev/null 2>&1