aboutsummaryrefslogtreecommitdiff
path: root/src/net/udp/dhcp.c
diff options
context:
space:
mode:
authorMichael Brown <mcb30@ipxe.org>2010-09-24 04:45:29 +0100
committerMichael Brown <mcb30@ipxe.org>2010-10-08 01:45:31 +0100
commitba6aca342468811a40afb98aa1ba2ac9b36aa3b4 (patch)
treef7fa65c2ca3610023683956029f66dd1704b38cc /src/net/udp/dhcp.c
parentc517d0ea7ff73e3d0ffe751f403f5679a5ce1685 (diff)
downloadipxe-ba6aca342468811a40afb98aa1ba2ac9b36aa3b4.zip
ipxe-ba6aca342468811a40afb98aa1ba2ac9b36aa3b4.tar.gz
ipxe-ba6aca342468811a40afb98aa1ba2ac9b36aa3b4.tar.bz2
[dhcp] Ignore DHCPACKs containing incorrect IP addresses
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/net/udp/dhcp.c')
-rw-r--r--src/net/udp/dhcp.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/net/udp/dhcp.c b/src/net/udp/dhcp.c
index 0483e2f..6435bf2 100644
--- a/src/net/udp/dhcp.c
+++ b/src/net/udp/dhcp.c
@@ -528,6 +528,8 @@ static void dhcp_request_rx ( struct dhcp_session *dhcp,
return;
if ( server_id.s_addr != dhcp->server.s_addr )
return;
+ if ( ip.s_addr != dhcp->offer.s_addr )
+ return;
/* Record assigned address */
dhcp->local.sin_addr = ip;