Just use raw sockets for listening to DHCP requests. A UDP SO_BROADCAST

socket was previously used only for receiving RENEWING packets, and it
added needless complexity and was somewhat fragile.
This commit is contained in:
Nicholas J. Kain
2014-04-16 01:00:36 -04:00
parent ca85a6ba9f
commit 07cbd88049
7 changed files with 31 additions and 102 deletions

View File

@ -447,7 +447,7 @@ void arp_success(struct client_state_t *cs)
cs->routerAddr = get_option_router(&garp.dhcp_packet);
arp_get_gw_hwaddr(cs);
}
set_listen_none(cs);
stop_dhcp_listen(cs);
write_leasefile(temp_addr);
arp_announcement(cs);
if (client_config.quit_after_lease)