diff options
author | Robert James Kaes <rjkaes@users.sourceforge.net> | 2000-03-31 22:55:22 +0000 |
---|---|---|
committer | Robert James Kaes <rjkaes@users.sourceforge.net> | 2000-03-31 22:55:22 +0000 |
commit | d0a05357a1f6d15179f0d1d7d1da8b674f7f8034 (patch) | |
tree | 019e4ce0f62279bb3973936178d8bbc14468488a | |
parent | 770c71969eb5307bd540e871111be94af727939d (diff) | |
download | tinyproxy-d0a05357a1f6d15179f0d1d7d1da8b674f7f8034.tar.gz tinyproxy-d0a05357a1f6d15179f0d1d7d1da8b674f7f8034.zip |
Fixed a bug with the path in clientreq. If the path was empty it caused a
malformed request to be sent.
-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"); |