diff --git a/CHANGELOG b/CHANGELOG index 019ab9c..11a8b85 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,19 @@ +version 2.78 + Fix logic of appending "." to PXE basename. Thanks + to Chris Novakovic for the patch. + + Revert ping-check of address in DHCPDISCOVER if there + already exists a lease for the address. Under some + circumstances, and netbooted windows installation can reply + to pings before if has a DHCP lease and block allocation + of the address it already used during netboot. Thanks to + Jan Psota for spotting this. + + Fix DHCP relaying, broken in 2.76 and 2.77 by commit + ff325644c7afae2588583f935f4ea9b9694eb52e. Thanks to + John Fitzgibbon for the diagnosis and patch. + + version 2.77 Generate an error when configured with a CNAME loop, rather than a crash. Thanks to George Metz for diff --git a/src/dhcp.c b/src/dhcp.c index e3509a6..4a2983e 100644 --- a/src/dhcp.c +++ b/src/dhcp.c @@ -273,8 +273,8 @@ void dhcp_packet(time_t now, int pxe_fd) if ((relay = relay_reply4((struct dhcp_packet *)daemon->dhcp_packet.iov_base, ifr.ifr_name))) { /* Reply from server, using us as relay. */ - iface_index = relay->iface_index; - if (!indextoname(daemon->dhcpfd, iface_index, ifr.ifr_name)) + rcvd_iface_index = relay->iface_index; + if (!indextoname(daemon->dhcpfd, rcvd_iface_index, ifr.ifr_name)) return; is_relay_reply = 1; iov.iov_len = sz;