diff options
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | src/reqs.c | 14 |
2 files changed, 12 insertions, 5 deletions
@@ -2,6 +2,9 @@ * src/reqs.c (clientreq): Removed the hack for POST methods with regard to anonymous access. + (clientreq): fixed a bug with the request line. If the PATH was + empty, it would send an malformed request to the server. This is + checked now and if the path is empty, a "/" is used instread. * src/config.h (SOCK_TIMEOUT): Increased the time out to 10 seconds. @@ -1,4 +1,4 @@ -/* $Id: reqs.c,v 1.6 2000-03-31 20:13:36 rjkaes Exp $ +/* $Id: reqs.c,v 1.7 2000-03-31 22:55:22 rjkaes Exp $ * * This is where all the work in tinyproxy is actually done. Incoming * connections are added to the active list of connections and then the header @@ -230,10 +230,14 @@ static int clientreq(struct conn_s *connptr) memcpy(request, inbuf, pmatch[METHOD_IND].rm_eo); request[pmatch[METHOD_IND].rm_eo] = '\0'; strcat(request, " "); - strcat(request, uri->path); - if (uri->query) { - strcat(request, "?"); - strcat(request, uri->query); + if (strlen(uri->path) > 0) { + strcat(request, uri->path); + if (uri->query) { + strcat(request, "?"); + strcat(request, uri->query); + } + } else { + strcat(request, "/"); } strcat(request, " HTTP/1.0\r\n"); |