Bläddra i källkod

[dhcp] Accept ProxyDHCP replies of type DHCPOFFER

The PXE standard provides examples of ProxyDHCP responses being encoded both
as type DHCPOFFER and DHCPACK, but currently we only accept DHCPACKs. Since
there are PXE servers in existence that respond to ProxyDHCPREQUESTs with
DHCPOFFERs, modify gPXE's ProxyDHCP pruning logic to treat both types of
responses equally.

Signed-off-by: Marty Connor <mdc@etherboot.org>
tags/v1.0.0-rc1
Joshua Oreman 14 år sedan
förälder
incheckning
04e4a4f695
1 ändrade filer med 1 tillägg och 1 borttagningar
  1. 1
    1
      src/net/udp/dhcp.c

+ 1
- 1
src/net/udp/dhcp.c Visa fil

627
 	/* Filter out unacceptable responses */
627
 	/* Filter out unacceptable responses */
628
 	if ( peer->sin_port != dhcp->proxy_port )
628
 	if ( peer->sin_port != dhcp->proxy_port )
629
 		return;
629
 		return;
630
-	if ( msgtype != DHCPACK )
630
+	if ( ( msgtype != DHCPOFFER ) && ( msgtype != DHCPACK ) )
631
 		return;
631
 		return;
632
 	if ( server_id.s_addr /* Linux PXE server omits server ID */ &&
632
 	if ( server_id.s_addr /* Linux PXE server omits server ID */ &&
633
 	     ( server_id.s_addr != dhcp->proxy_server.s_addr ) )
633
 	     ( server_id.s_addr != dhcp->proxy_server.s_addr ) )

Laddar…
Avbryt
Spara