summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoy Marples <roy@marples.name>2009-03-23 11:15:35 +0000
committerRoy Marples <roy@marples.name>2009-03-23 11:15:35 +0000
commit727f6d386cc60abfff9cdd2cd3ec08200c01874c (patch)
tree235aa774305e68f300436afd72ea5a606c81eb35
parent45b51c7f6c5ca068d8d2a283eeb976465247dfde (diff)
downloaddhcpcd-727f6d386cc60abfff9cdd2cd3ec08200c01874c.tar.xz
Fail the interface when we need a clientid.
-rw-r--r--dhcpcd-run-hooks.8.in2
-rw-r--r--dhcpcd.c5
2 files changed, 5 insertions, 2 deletions
diff --git a/dhcpcd-run-hooks.8.in b/dhcpcd-run-hooks.8.in
index ef95590f..7c5990ac 100644
--- a/dhcpcd-run-hooks.8.in
+++ b/dhcpcd-run-hooks.8.in
@@ -107,7 +107,7 @@ The cable may have been unplugged or association to the wireless point lost.
dhcpcd failed to operate on the interface.
This normally happens when dhcpcd does not support the raw interface, which
means it cannot work as a DHCP or ZeroConf client.
-Static configuration is still allowed.
+Static configuration and DHCP INFORM is still allowed.
.It Dv STOP
dhcpcd stopped running on the interface.
.It Dv TEST
diff --git a/dhcpcd.c b/dhcpcd.c
index 1fe5cdbf..0fba54ca 100644
--- a/dhcpcd.c
+++ b/dhcpcd.c
@@ -979,7 +979,10 @@ start_interface(void *arg)
}
if (iface->hwlen == 0 && ifo->clientid[0] == '\0') {
syslog(LOG_WARNING, "%s: needs a clientid to configure",
- iface->name);
+ iface->name);
+ drop_config(iface, "FAIL");
+ close_sockets(iface);
+ delete_timeout(NULL, iface);
return;
}
if (ifo->req_addr.s_addr) {