aboutsummaryrefslogtreecommitdiffstats
path: root/src/drivers/net/intel.c
diff options
context:
space:
mode:
authorMichael Brown <mcb30@ipxe.org>2023-03-08 00:43:33 +0000
committerMichael Brown <mcb30@ipxe.org>2023-03-14 11:35:30 +0000
commit8f1c1201199a924eeba31494be5aa6bf13eb3fa0 (patch)
tree7f42f39cbd8bbfc834da9bb85a2602d084a5f844 /src/drivers/net/intel.c
parent54fcb7c29ce2fabe109286e3c4dfeb297e0f3916 (diff)
downloadipxe-8f1c1201199a924eeba31494be5aa6bf13eb3fa0.tar.gz
[dhcp] Unregister ProxyDHCP and PXEBS settings on a successful DHCPACK
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/drivers/net/intel.c')
0 files changed, 0 insertions, 0 deletions