<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Tianocore/edk2.git/NetworkPkg/HttpBootDxe, branch dependabot/github_actions/actions/setup-python-6</title>
<subtitle>EDK II (mirror)</subtitle>
<id>https://git.radix-linux.su/Tianocore/edk2.git/atom?h=dependabot%2Fgithub_actions%2Factions%2Fsetup-python-6</id>
<link rel='self' href='https://git.radix-linux.su/Tianocore/edk2.git/atom?h=dependabot%2Fgithub_actions%2Factions%2Fsetup-python-6'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/'/>
<updated>2025-06-11T19:07:48+00:00</updated>
<entry>
<title>NetworkPkg: Add PCD to control http boot enable or disable.</title>
<updated>2025-06-11T19:07:48+00:00</updated>
<author>
<name>mark.li</name>
<email>mark.li@cixtech.com</email>
</author>
<published>2025-06-09T09:28:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=f9408b7cc160030c3bb9627c8086a792cc2d046c'/>
<id>urn:sha1:f9408b7cc160030c3bb9627c8086a792cc2d046c</id>
<content type='text'>
Add PCD to control http boot enable or disable.

Signed-off-by: jie.fu &lt;jie.fu@cixtech.com&gt;
</content>
</entry>
<entry>
<title>NetworkPkg/HttpBootDxe: Wait for IPv6 DAD before issuing DHCPv6 requests</title>
<updated>2025-05-29T14:29:11+00:00</updated>
<author>
<name>Sam Tsai</name>
<email>sam_tsai@wiwynn.com</email>
</author>
<published>2025-05-22T08:10:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=11f1d28bcb8553af9c689ec121c191a258e6f01a'/>
<id>urn:sha1:11f1d28bcb8553af9c689ec121c191a258e6f01a</id>
<content type='text'>
Align HTTP Boot behavior with PXE by inserting a delay to wait for IPv6 Duplicate Address Detection (DAD) to complete before issuing DHCPv6 requests. This avoids EFI_NO_MAPPING errors caused by early DHCP attempts before a valid IPv6 address is ready.

Problem:
On some platforms, HTTP boot over IPv6 fails with EFI_NO_MAPPING during initial DHCPv6 attempts. The failure is due to the system trying to send Solicit messages before IPv6 DAD finishes, resulting in no usable IP address at that time.

Solution:
Insert a retry mechanism to poll DAD completion when the initial call to Dhcp6-&gt;Start() fails with EFI_NO_MAPPING. This behavior mirrors PXE's handling, where it waits for a valid IPv6 address to be assigned before retrying the DHCPv6 flow.

Signed-off-by: Sam Tsai [Wiwynn] &lt;sam_tsai@wiwynn.com&gt;
</content>
</entry>
<entry>
<title>NetworkPkg/HttpBootDxe: Add proxy connect flow to *GetBootFile()</title>
<updated>2025-03-13T00:34:01+00:00</updated>
<author>
<name>Saloni Kasbekar</name>
<email>saloni.kasbekar@intel.com</email>
</author>
<published>2022-12-16T18:06:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=80c04eb46fc97f303a50172eaa7095bdcd7e6559'/>
<id>urn:sha1:80c04eb46fc97f303a50172eaa7095bdcd7e6559</id>
<content type='text'>
- Add HTTP CONNECT flow to connect to Proxy Server
- Provide Proxy URL to HTTP GET/HEAD Requests

Implementation based on UEFI Specification v2.11
- Section 24.7.10 to use HTTP CONNECT method to connect to Proxy
Server and use it to forward the HEAD/GET request to Endpoint Server's
BootURI.
- Section 29.6.6 to use EFI_HTTP_CONNECT_REQUEST_DATA structure for
HttpMethodConnect usage in EFI_HTTP_PROTOCOL.Request()

Signed-off-by: Saloni Kasbekar &lt;saloni.kasbekar@intel.com&gt;
</content>
</entry>
<entry>
<title>NetworkPkg/HttpBootDxe: Add ProxyUri handling in start/stop path.</title>
<updated>2025-03-13T00:34:01+00:00</updated>
<author>
<name>Saloni Kasbekar</name>
<email>saloni.kasbekar@intel.com</email>
</author>
<published>2022-12-16T18:01:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=884585818ff016d44bb8ddd2f58001cec3a8f24e'/>
<id>urn:sha1:884585818ff016d44bb8ddd2f58001cec3a8f24e</id>
<content type='text'>
Update HTTP Boot Start/Stop to handle ProxyUri

Implementation based on UEFI Specification v2.11 section 24.7.10 to
use HTTP CONNECT method to connect to Proxy Server and use it to
forward the HEAD/GET request to Endpoint Server's BootURI.

Signed-off-by: Saloni Kasbekar &lt;saloni.kasbekar@intel.com&gt;
</content>
</entry>
<entry>
<title>Network/HttpBootDxe: Modify device path parser to detect Proxy URI node.</title>
<updated>2025-03-13T00:34:01+00:00</updated>
<author>
<name>Saloni Kasbekar</name>
<email>saloni.kasbekar@intel.com</email>
</author>
<published>2022-12-16T17:57:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=69b0bed49e391d48ad5920f7dda03f4fb34e1ae1'/>
<id>urn:sha1:69b0bed49e391d48ad5920f7dda03f4fb34e1ae1</id>
<content type='text'>
Update device path parser to detect device path with Proxy URI

Implementation based on UEFI Specification v2.11 Section 24.7.3.1

Signed-off-by: Saloni Kasbekar &lt;saloni.kasbekar@intel.com&gt;
</content>
</entry>
<entry>
<title>NetworkPkg/HttpBootDxe: Added ProxyUri field to HTTP_BOOT_PRIVATE_DATA.</title>
<updated>2025-03-13T00:34:01+00:00</updated>
<author>
<name>Saloni Kasbekar</name>
<email>saloni.kasbekar@intel.com</email>
</author>
<published>2022-12-16T17:52:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=cd397f16a5b74692a8438a65c613edced3a09263'/>
<id>urn:sha1:cd397f16a5b74692a8438a65c613edced3a09263</id>
<content type='text'>
Update HTTP_BOOT_PRIVATE_DATA structure to include ProxyUri

Signed-off-by: Saloni Kasbekar &lt;saloni.kasbekar@intel.com&gt;
</content>
</entry>
<entry>
<title>NetworkPkg/HttpBootDxe: Use ProxyUri from HII to build boot option</title>
<updated>2025-03-13T00:34:01+00:00</updated>
<author>
<name>Saloni Kasbekar</name>
<email>saloni.kasbekar@intel.com</email>
</author>
<published>2022-12-16T17:47:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=7f0fc4189a4abe252ea1ca9054ae5c49480f1a4c'/>
<id>urn:sha1:7f0fc4189a4abe252ea1ca9054ae5c49480f1a4c</id>
<content type='text'>
Build boot option with HII provided ProxyUri by utilizing URI
validation path in HII callback for ProxyUri.

Implementation based on UEFI Specification v2.11 Section 24.7.3.1 to
use device path with ProxyURI included

Signed-off-by: Saloni Kasbekar &lt;saloni.kasbekar@intel.com&gt;
</content>
</entry>
<entry>
<title>NetworkPkg/HttpBootDxe: Add Proxy URI field to HII.</title>
<updated>2025-03-13T00:34:01+00:00</updated>
<author>
<name>Saloni Kasbekar</name>
<email>saloni.kasbekar@intel.com</email>
</author>
<published>2022-12-16T17:42:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=3e0d879a080eea39afd87c47805cb22a8fcc9824'/>
<id>urn:sha1:3e0d879a080eea39afd87c47805cb22a8fcc9824</id>
<content type='text'>
Add Proxy URI field to HTTP Boot HII

Signed-off-by: Saloni Kasbekar &lt;saloni.kasbekar@intel.com&gt;
</content>
</entry>
<entry>
<title>NetworkPkg/HttpBootDxe: Report download error when resume attempts fail</title>
<updated>2024-10-15T22:26:37+00:00</updated>
<author>
<name>Leandro Becker</name>
<email>lbecker@positivo.com.br</email>
</author>
<published>2024-09-20T13:37:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=b3efbda1660372f3973c29cde0e92528862c4171'/>
<id>urn:sha1:b3efbda1660372f3973c29cde0e92528862c4171</id>
<content type='text'>
When all resume attempts to continue an interrupted NBP file
download have failed, report the failure status to the caller.

Original implementation was returning success when number of
retries reaches the limit defined by PcdMaxHttpResumeRetries.

Signed-off-by: Leandro Gustavo Biss Becker &lt;lbecker@positivo.com.br&gt;
</content>
</entry>
<entry>
<title>NetworkPkg/HttpBootDxe: Correctly uninstall HttpBootCallbackProtocol</title>
<updated>2024-09-15T21:18:08+00:00</updated>
<author>
<name>Mike Beaton</name>
<email>mjsbeaton@gmail.com</email>
</author>
<published>2024-09-13T17:07:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/Tianocore/edk2.git/commit/?id=73dbb68006caf538d1b69a11e306b161526932f3'/>
<id>urn:sha1:73dbb68006caf538d1b69a11e306b161526932f3</id>
<content type='text'>
The existing HttpBootUninstallCallback was passing the wrong handle (the
PrivateData root controller handle, not the correct child IPv4 or IPv6
NIC controller handle; cf HttpBootInstallCallback for matching logic) and
was also passing the address of a pointer to the interface to be removed
rather than the pointer itself, so always failed with EFI_NOT_FOUND.

This resulted in the prior behaviour that if multiple HTTP boot attempts
were made, on the second and subsequent attempts the instance of this
protocol installed by the first attempt would be re-used. As long as only
one driver using the protocol is installed, this ends up producing the
same results as if the protocol had been uninstalled then reinstalled
correctly.

After this commit, the protocol is installed at the start of an HTTP boot
attempt and uninstalled it at the end of it (assuming nothing else has
accessed the protocol in a way which blocks the uninstall).

It might seem attractive to add an ASSERT to confirm when debugging
that the uninstall succeeds as expected, but this is recommended against
because uninstallation of protocol interfaces is allowed to fail under
the UEFI model:
https://edk2.groups.io/g/devel/message/117469.
An ASSERT could therefore arise from a sequence of events which is
perfectly valid - or at least is out of the control of this driver.

Signed-off-by: Mike Beaton &lt;mjsbeaton@gmail.com&gt;
</content>
</entry>
</feed>
