History log of /device/linaro/bootloader/edk2/NetworkPkg/HttpBootDxe/HttpBootImpl.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
632dcfd6857b6211ce3fe9755d3c11e74ef5d447 16-Nov-2016 Fu Siyuan <siyuan.fu@intel.com> NetworkPkg: Check for the max DHCP packet length before use it.

This patch updates the PXE and HTTP boot driver to drop the input DHCP packet
if it exceed the maximum length.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Fu Siyuan <siyuan.fu@intel.com>
Reviewed-By: Wu Jiaxin <jiaxin.wu@intel.com>
/device/linaro/bootloader/edk2/NetworkPkg/HttpBootDxe/HttpBootImpl.c
287f05cd1f8cc7ae693868b4882d4cebd87ff6dc 28-Jun-2016 Fu Siyuan <siyuan.fu@intel.com> NetworkPkg: Stop the HTTP Boot service after the boot image download complete.

After boot image has been downloaded, the HTTP boot driver leaves the service
in the started state, with an active TCP child. This may cause some problems:
1. The HTTP session may become unavaiable after a while, then a following HTTP
Boot will fail.
2. An active TCP child will send RST to any incoming TCP message, which may
break other driver which tries to setup a TCP connection.
The HTTP boot driver doesn't provide any interface to the boot loader, so it's
unnecessary to keep the service running after a boot image is downloaded.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Fu Siyuan <siyuan.fu@intel.com>
Reviewed-by: Ye Ting <ting.ye@intel.com>
Reviewed-By: Wu Jiaxin <jiaxin.wu@intel.com>
/device/linaro/bootloader/edk2/NetworkPkg/HttpBootDxe/HttpBootImpl.c
44a7d08b5a935347a35507fb5db42659a96b3452 05-May-2016 Sunny Wang <sunnywang@hpe.com> NetworkPkg/HttpBootDxe: Fix for the issue that the HTTP boot option can't be booted more than once

This issue can be reproduced by the following steps:
1. Boot to HTTP boot option and the boot file is a ISO file like Ubuntu PE image.
2. Exit from boot option (GRUB) and then back to boot manager menu.
3. Boot to the same HTTP boot option again or a HTTP boot option pointing to the same HTTP ISO file. It will fail to boot.
Root cause:
When booting a HTTP boot option, the HTTP boot driver will save the Boot File's information in its private data as cache data for skipping the Boot file discovery from next time boot. However, the cache data doesn't include ImageType data, which would cause HTTP boot driver using the invalid ImageType (ImageTypeMax) and then fail to boot the cached boot file. In other words, for the second time boot, the HttpBootLoadFile() doesn't update ImageType (it returns a valid ImageType), which causes that the HttpBootDxeLoadFile() skips to Register a RAM Disk for downloaded HTTP ISO file and then BDS code can't find the RAM disk to boot.
Solution:
Save ImageType to private data for next time HTTP boot.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Sunny Wang <sunnywang@hpe.com>
Reviewed-by: Fu Siyuan <siyuan.fu@intel.com>
/device/linaro/bootloader/edk2/NetworkPkg/HttpBootDxe/HttpBootImpl.c
587d204ccda4b507be4f9f42e8c9d226fd755be0 22-Mar-2016 Fu Siyuan <siyuan.fu@intel.com> NetworkPkg: Add RAM disk boot support to HTTP Boot driver.

This patch updates the HTTP Boot driver to support the download and boot
a RAM disk image from HTTP server.
The HTTP RAM disk boot is described in section 23.7 "HTTP Boot" in
UEFI 2.6. HTTP server could provide either an UEFI image or a RAM disk image
for the HTTP boot client to use. The RAM disk image must contain a UEFI
compliant file system in it.
HTTP boot driver will identify the image type either by the "Content-Type"
entity header filed or by the file name extension as below:
"application/efi" or *.efi -> EFI Image
*.iso -> CD/DVD Image
*.img -> Virtual Disk Image

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Fu Siyuan <siyuan.fu@intel.com>
Reviewed-by: Ye Ting <ting.ye@intel.com>
Reviewed-by: El-Haj-Mahmoud Samer <samer.el-haj-mahmoud@hpe.com>
/device/linaro/bootloader/edk2/NetworkPkg/HttpBootDxe/HttpBootImpl.c
651aeac67248c798c8c22dfd04580d8961cf09d0 24-Mar-2016 Zhang Lubo <lubo.zhang@intel.com> NetworkPkg:Fix Http boot download issue.

When http boot download the second time without return
out of the boot manager, the DHCP process will start twice
with the same Boot file uri and print the information twice
which we not expected. This is caused by wrong logic
of handling the device path of the boot file when loading it.

Cc: Fu Siyuan <siyuan.fu@intel.com>
Cc: Ye Ting <ting.ye@intel.com>
Cc: Wu Jiaxin <jiaxin.wu@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Zhang Lubo <lubo.zhang@intel.com>
Reviewed-by: Fu Siyuan <siyuan.fu@intel.com>
/device/linaro/bootloader/edk2/NetworkPkg/HttpBootDxe/HttpBootImpl.c
fa848a4048943251fc057fe8d6c5a82e01d2ffb6 15-Feb-2016 Fu Siyuan <siyuan.fu@intel.com> NetworkPkg: Add URI configuration form to HTTP boot driver.

This patch updates the HTTP boot driver to produce a setup page for the boot
file URI configuration. A new boot option will be created for the manual
configured URI address. This change is made to support the HTTP boot usage
in home environment.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Fu Siyuan <siyuan.fu@intel.com>
Reviewed-by: Wu Jiaxin <jiaxin.wu@intel.com>
Reviewed-by: Ye Ting <ting.ye@intel.com>
/device/linaro/bootloader/edk2/NetworkPkg/HttpBootDxe/HttpBootImpl.c
b659408b933f40765960e877de3e1f8ceaab52cb 09-Nov-2015 Zhang Lubo <lubo.zhang@intel.com> NetworkPkg:Enable Http Boot over Ipv6 stack

Add new features to support Http boot over ipv6 stack.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Zhang Lubo <lubo.zhang@intel.com>
Reviewed-by: Fu Siyuan <siyuan.fu@intel.com>
Reviewed-by: Ye Ting <ting.ye@intel.com>
Reviewed-by: Wu Jiaxin <jiaxin.wu@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18743 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/NetworkPkg/HttpBootDxe/HttpBootImpl.c
d933e70a9761bf47941ac3d973cc5e7ee44da930 27-Aug-2015 Jiaxin Wu <jiaxin.wu@intel.com> NetworkPkg: Convert the UNIX to DOS end of line format

Convert the UNIX to DOS end of line format.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jiaxin Wu <jiaxin.wu@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18326 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/NetworkPkg/HttpBootDxe/HttpBootImpl.c
36673054200c24a38bedea10e19765830bd2ad2c 18-Aug-2015 Jiaxin Wu <jiaxin.wu@intel.com> NetworkPkg: Stop and release DHCP4 child after boot info is ready

HttpBootDxe need to stop and release the DHCP4 child when it's
not used so the NBP could create new DHCP4 child and use it.

Cc: Ye Ting <ting.ye@intel.com>
Cc: Zhang Lubo <lubo.zhang@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jiaxin Wu <jiaxin.wu@intel.com>
Reviewed-by: Ye Ting <ting.ye@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18231 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/NetworkPkg/HttpBootDxe/HttpBootImpl.c
c4545d769fc26d6bb70c4236eab26df498ed784e 07-Jul-2015 Fu Siyuan <siyuan.fu@intel.com> NetworkPkg: Add UEFI HTTP boot driver.

This patch add the implementation for UEFI HTTP boot driver.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Fu Siyuan <siyuan.fu@intel.com>
Reviewed-by: Ye Ting <ting.ye@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17857 6f19259b-4bc3-4df7-8a09-765794883524
/device/linaro/bootloader/edk2/NetworkPkg/HttpBootDxe/HttpBootImpl.c