mirror of
https://github.com/ipxe/ipxe
synced 2026-06-29 00:07:28 +03:00
a2eba23aceb2a05ddb96c3661596784fb1698b96
Calling hkdf_extract() with no salt and with the input keying material provided in the same buffer that will hold the output pseudorandom key is a valid potential use case. This will currently fail silently since the input keying material would be overwritten by the constructed all-zero salt before being consumed. Fix by using a local buffer for the all-zero salt, rather than constructing the salt in the output buffer. Document the permitted behaviour in terms of overlapping input and output buffers for both hkdf_extract() and hkdf_expand(), and extend the test cases to verify this behaviour. Signed-off-by: Michael Brown <mcb30@ipxe.org>
iPXE network bootloader
iPXE is the leading open source network boot firmware. It provides a full PXE implementation enhanced with additional features such as:
-
boot from a web server via HTTP or HTTPS,
-
boot from an iSCSI, FCoE, or AoE SAN,
-
control the boot process with a script,
You can use iPXE to replace the existing PXE ROM on your network card, or you can chainload into iPXE to obtain the features of iPXE without the hassle of reflashing.
iPXE is free, open-source software licensed under the GNU GPL (with some portions under GPL-compatible licences).
You can download the rolling release binaries (built from the latest commit), or use the most recent stable release.
For full documentation, visit the iPXE website.
Languages
C
96.9%
Assembly
1.5%
Perl
0.6%
Python
0.4%
Makefile
0.4%