From d0a05357a1f6d15179f0d1d7d1da8b674f7f8034 Mon Sep 17 00:00:00 2001 From: Robert James Kaes Date: Fri, 31 Mar 2000 22:55:22 +0000 Subject: Fixed a bug with the path in clientreq. If the path was empty it caused a malformed request to be sent. --- ChangeLog | 3 +++ src/reqs.c | 14 +++++++++----- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 96deb2d..5edac72 100644 --- a/ChangeLog +++ b/ChangeLog @@ -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. diff --git a/src/reqs.c b/src/reqs.c index bf5fca4..0c33e19 100644 --- a/src/reqs.c +++ b/src/reqs.c @@ -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"); -- cgit v1.2.3