mirror of
https://github.com/ipxe/ipxe
synced 2026-01-30 04:58:12 +03:00
[uri] Refactor URI parsing and formatting
Add support for parsing of URIs containing literal IPv6 addresses (e.g. "http://[fe80::69ff:fe50:5845%25net0]/boot.ipxe"). Duplicate URIs by directly copying the relevant fields, rather than by formatting and reparsing a URI string. This relaxes the requirements on the URI formatting code and allows it to focus on generating human-readable URIs (e.g. by not escaping ':' characters within literal IPv6 addresses). As a side-effect, this allows relative URIs containing parameter lists (e.g. "../boot.php##params") to function as expected. Add validity check for FTP paths to ensure that only printable characters are accepted (since FTP is a human-readable line-based protocol with no support for character escaping). Construct TFTP next-server+filename URIs directly, rather than parsing a constructed "tftp://..." string, Add self-tests for URI functions. Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
@@ -53,3 +53,4 @@ REQUIRE_OBJECT ( pnm_test );
|
||||
REQUIRE_OBJECT ( deflate_test );
|
||||
REQUIRE_OBJECT ( png_test );
|
||||
REQUIRE_OBJECT ( dns_test );
|
||||
REQUIRE_OBJECT ( uri_test );
|
||||
|
||||
Reference in New Issue
Block a user