summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sbin/dhclient/dhclient.c7
-rw-r--r--sbin/dhclient/kroute.c6
2 files changed, 5 insertions, 8 deletions
diff --git a/sbin/dhclient/dhclient.c b/sbin/dhclient/dhclient.c
index d44be7867fa..1766d2d696d 100644
--- a/sbin/dhclient/dhclient.c
+++ b/sbin/dhclient/dhclient.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: dhclient.c,v 1.186 2012/12/03 22:19:47 krw Exp $ */
+/* $OpenBSD: dhclient.c,v 1.187 2012/12/03 22:36:16 krw Exp $ */
/*
* Copyright 2004 Henning Brauer <henning@openbsd.org>
@@ -229,9 +229,8 @@ routehandler(void)
if (ifm->ifm_index != ifi->index)
break;
if ((rtm->rtm_flags & RTF_UP) == 0) {
- ifi->linkstat = 0;
- cleanup(client->active);
- return;
+ errmsg = "interface down";
+ goto die;
}
linkstat =
diff --git a/sbin/dhclient/kroute.c b/sbin/dhclient/kroute.c
index 53c0d0a7b5b..7290fb7e927 100644
--- a/sbin/dhclient/kroute.c
+++ b/sbin/dhclient/kroute.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: kroute.c,v 1.21 2012/12/03 22:19:47 krw Exp $ */
+/* $OpenBSD: kroute.c,v 1.22 2012/12/03 22:36:16 krw Exp $ */
/*
* Copyright 2012 Kenneth R Westerback <krw@openbsd.org>
@@ -624,14 +624,12 @@ cleanup(struct client_lease *active)
struct imsg_cleanup imsg;
int rslt;
- cancel_timeout();
-
memset(&imsg, 0, sizeof(imsg));
strlcpy(imsg.ifname, ifi->name, sizeof(imsg.ifname));
imsg.rdomain = ifi->rdomain;
if (active)
- delete_address(ifi->name, ifi->rdomain, active->address);
+ imsg.addr = active->address;
rslt = imsg_compose(unpriv_ibuf, IMSG_CLEANUP, 0, 0, -1,
&imsg, sizeof(imsg));