mirror of
https://github.com/ipxe/ipxe
synced 2026-10-07 15:05:42 +03:00
89cfb681a45fefb68ce63ea240c88a6e2ad81728
iPXE originally supported only TLS version 1.0, which uses mostly fixed-size data structures and required only a few mostly simple bounds checks. Over the years, the amount of open-coded parsing and bounds checking code has grown gradually to the point that it comprises a substantial portion of the overall TLS implementation. This makes the code difficult to read, and requires careful review to ensure that all of the different parsing and bounds checking code is correct. Define an abstraction for decomposing the component parts of a TLS data structure into a descriptor structure comprising a sequence of field data pointers and lengths, along with an efficient binary encoding that can describe the mapping between the decomposition and the raw data structure. Provide a generic parser that can interpret the binary-encoded mapping and populate the descriptor structure, along with mappings for every data structure currently interpreted by the TLS protocol engine. 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
98.5%
Assembly
0.6%
Python
0.3%
Perl
0.3%
Makefile
0.2%