X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=NetworkPkg%2FHttpBootDxe%2FHttpBootDhcp6.c;h=0157095edf821c4b89cd94a1edc205d18ebb5651;hp=2538bd116ca42ddb47c2081c4fab3e03c0399766;hb=3decba3d32382e22357de4eb25da1aedf6462861;hpb=ce22514e4800dca7854a4778a66e8f08d2b18345 diff --git a/NetworkPkg/HttpBootDxe/HttpBootDhcp6.c b/NetworkPkg/HttpBootDxe/HttpBootDhcp6.c index 2538bd116c..0157095edf 100644 --- a/NetworkPkg/HttpBootDxe/HttpBootDhcp6.c +++ b/NetworkPkg/HttpBootDxe/HttpBootDhcp6.c @@ -251,8 +251,8 @@ HttpBootParseDhcp6Packet ( Option = Options[HTTP_BOOT_DHCP6_IDX_VENDOR_CLASS]; if (Option != NULL && - NTOHS(Option->OpLen) >= 10 && - CompareMem (Option->Data, DEFAULT_CLASS_ID_DATA, 10) == 0) { + NTOHS(Option->OpLen) >= 16 && + CompareMem ((Option->Data + 6), DEFAULT_CLASS_ID_DATA, 10) == 0) { IsHttpOffer = TRUE; } @@ -298,7 +298,11 @@ HttpBootParseDhcp6Packet ( // if (IsHttpOffer) { if (IpExpressedUri) { - OfferType = IsProxyOffer ? HttpOfferTypeProxyIpUri : HttpOfferTypeDhcpIpUri; + if (IsProxyOffer) { + OfferType = HttpOfferTypeProxyIpUri; + } else { + OfferType = IsDnsOffer ? HttpOfferTypeDhcpIpUriDns : HttpOfferTypeDhcpIpUri; + } } else { if (!IsProxyOffer) { OfferType = IsDnsOffer ? HttpOfferTypeDhcpNameUriDns : HttpOfferTypeDhcpNameUri;