e55ec845e6
The various early-exit paths in parse_uri() accidentally bypass the URI field decoding. The result is that opaque or relative URIs do not undergo URI field decoding, resulting in double-encoding when the URIs are subsequently used. For example: #!ipxe set mac ${macstring} imgfetch /boot/by-mac/${mac:uristring} would result in an HTTP GET such as GET /boot/by-mac/00%253A0c%253A29%253Ac5%253A39%253Aa1 HTTP/1.1 rather than the expected GET /boot/by-mac/00%3A0c%3A29%3Ac5%3A39%3Aa1 HTTP/1.1 Fix by ensuring that URI decoding is always applied regardless of the URI format. Reported-by: Andrew Widdersheim <awiddersheim@inetu.net> Signed-off-by: Michael Brown <mcb30@ipxe.org> |
||
---|---|---|
.. | ||
arch | ||
bin | ||
config | ||
core | ||
crypto | ||
doc | ||
drivers | ||
hci | ||
image | ||
include | ||
interface | ||
libgcc | ||
net | ||
tests | ||
usr | ||
util | ||
.gitignore | ||
doxygen.cfg | ||
Makefile | ||
Makefile.housekeeping |