aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoshua Oreman <oremanj@rwcr.net>2010-01-26 23:56:42 -0500
committerMarty Connor <mdc@etherboot.org>2010-01-27 08:52:39 -0500
commitf3467ad169b01d5d90d8474ecc1ab1ee82cdecd1 (patch)
tree26489f8b94408b8402436bd9dcd2b5db96ae791f
parente6f08b0aa79a07bcadff203c91245db0dcd155b7 (diff)
downloadipxe-f3467ad169b01d5d90d8474ecc1ab1ee82cdecd1.tar.gz
[http] GET / if URI doesn't contain a path
Commit 3d9dd93 introduced a regression in HTTP: if a URI without a path is specified (e.g. http://netboot.me), we send the empty string as our GET request. Reintroduce an extra slash when uri->path is NULL, to turn this into the expected GET /. Reported-by: Kyle Kienapfel <doctor.whom@gmail.com> Signed-off-by: Joshua Oreman <oremanj@rwcr.net> Signed-off-by: Marty Connor <mdc@etherboot.org>
-rw-r--r--src/net/tcp/http.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/net/tcp/http.c b/src/net/tcp/http.c
index 807a0c3e1..a365b2a48 100644
--- a/src/net/tcp/http.c
+++ b/src/net/tcp/http.c
@@ -452,11 +452,12 @@ static void http_step ( struct process *process ) {
/* Send GET request */
if ( ( rc = xfer_printf ( &http->socket,
- "GET %s HTTP/1.0\r\n"
+ "GET %s%s HTTP/1.0\r\n"
"User-Agent: gPXE/" VERSION "\r\n"
"%s%s%s"
"Host: %s\r\n"
"\r\n",
+ http->uri->path ? "" : "/",
request,
( user ?
"Authorization: Basic " : "" ),