aboutsummaryrefslogtreecommitdiff
path: root/src/arch
diff options
context:
space:
mode:
authorMichael Brown <mcb30@ipxe.org>2023-03-08 00:43:33 +0000
committerMichael Brown <mcb30@ipxe.org>2023-03-08 00:43:33 +0000
commitc390e287df2a47984a4b9facdf15a196de7ad597 (patch)
treeccbd6e9dfb9e4714c3402eb3e10eeef7005736c7 /src/arch
parent9e1f7a3659071004f4b8c76f2593da6287f0d575 (diff)
downloadipxe-cleardhcp.zip
ipxe-cleardhcp.tar.gz
ipxe-cleardhcp.tar.bz2
[dhcp] Unregister ProxyDHCP and PXEBS settings on a successful DHCPACKcleardhcp
When a DHCP transaction does not result in the registration of a new "proxydhcp" or "pxebs" settings block, any existing settings blocks are currently left unaltered. This can cause surprising behaviour. For example: when chainloading iPXE, the "proxydhcp" and "pxebs" settings blocks may be prepopulated using cached values from the previous PXE bootloader. If iPXE performs a subsequent DHCP request, then the DHCP or ProxyDHCP servers may choose to respond differently to iPXE. The response may choose to omit the ProxyDHCP or PXEBS stages, in which case no new "proxydhcp" or "pxebs" settings blocks may be registered. This will result in iPXE using a combination of both old and new DHCP responses. Fix by assuming that a successful DHCPACK effectively acquires ownership of the "proxydhcp" and "pxebs" settings blocks, and that any existing settings blocks should therefore be unregistered. Reported-by: Henry Tung <htung@palantir.com> Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/arch')
0 files changed, 0 insertions, 0 deletions