opengnsys_ipxe/src
Michael Brown e814d33900 [uri] Allow for relative URIs that include colons within the path
RFC3986 allows for colons to appear within the path component of a
relative URI, but iPXE will currently parse such URIs incorrectly by
interpreting the text before the colon as the URI scheme.

Fix by checking for valid characters when identifying the URI scheme.
Deliberately deviate from the RFC3986 definition of valid characters
by accepting "_" (which was incorrectly used in the iPXE-specific
"ib_srp" URI scheme and so must be accepted for compatibility with
existing deployments), and by omitting the code to check for
characters that are not used in any URI scheme supported by iPXE.

Reported-by: Ignat Korchagin <ignat@cloudflare.com>
Signed-off-by: Michael Brown <mcb30@ipxe.org>
2022-01-13 15:03:22 +00:00
..
arch [efi] Include Secure Boot Advanced Targeting (SBAT) metadata 2022-01-13 14:12:44 +00:00
bin Rename .cvsignore files to .gitignore 2007-06-09 22:57:00 +01:00
config [efi] Include Secure Boot Advanced Targeting (SBAT) metadata 2022-01-13 14:12:44 +00:00
core [uri] Allow for relative URIs that include colons within the path 2022-01-13 15:03:22 +00:00
crypto [x509] Use case-insensitive comparison for certificate names 2021-05-18 11:46:28 +01:00
doc [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
drivers [efi] Run ExitBootServices shutdown hook at TPL_NOTIFY 2021-11-23 15:55:01 +00:00
hci [readline] Extend maximum read line length to 1024 characters 2021-09-10 15:51:14 +01:00
image [image] Allow single-member archive images to be executed transparently 2021-05-12 13:57:35 +01:00
include [efi] Include Secure Boot Advanced Targeting (SBAT) metadata 2022-01-13 14:12:44 +00:00
interface [settings] Support formatting UUIDs as little-endian GUIDs 2022-01-04 14:03:12 +00:00
libgcc [libgcc] Change __divmoddi4 from int64 [unknown] to int64_t 2020-07-21 14:33:32 +01:00
net [uri] Retain original encodings for path, query, and fragment fields 2021-11-12 09:58:29 +00:00
scripts [efi] Include Secure Boot Advanced Targeting (SBAT) metadata 2022-01-13 14:12:44 +00:00
tests [uri] Allow for relative URIs that include colons within the path 2022-01-13 15:03:22 +00:00
usr [doc] Update user-visible ipxe.org URIs to use HTTPS 2022-01-13 12:48:38 +00:00
util [doc] Update user-visible ipxe.org URIs to use HTTPS 2022-01-13 12:48:38 +00:00
.gitignore [build] Add support for local configuration files 2010-03-26 19:07:22 +00:00
Makefile [doc] Update user-visible ipxe.org URIs to use HTTPS 2022-01-13 12:48:38 +00:00
Makefile.efi [efi] Use zero for PCI vendor/device IDs when no applicable ID exists 2021-07-26 15:47:47 +01:00
Makefile.housekeeping [build] Ensure version.%.o is always rebuilt as expected 2022-01-13 13:43:08 +00:00
Makefile.linux [linux] Place -lslirp at end of linker search list 2021-03-03 01:09:33 +00:00
doxygen.cfg [build] Remove PACKED macro 2010-05-29 23:49:47 +01:00