In parse_client_request(), assume a request is complete if we got the whole header...
authorFabian Keil <fk@fabiankeil.de>
Tue, 14 Jul 2009 18:02:25 +0000 (18:02 +0000)
committerFabian Keil <fk@fabiankeil.de>
Tue, 14 Jul 2009 18:02:25 +0000 (18:02 +0000)
Should break less non-traditional requests than the previous hack.

jcc.c

diff --git a/jcc.c b/jcc.c
index adb5bee..d637017 100644 (file)
--- a/jcc.c
+++ b/jcc.c
@@ -1,4 +1,4 @@
-const char jcc_rcs[] = "$Id: jcc.c,v 1.270 2009/07/13 17:12:28 fabiankeil Exp $";
+const char jcc_rcs[] = "$Id: jcc.c,v 1.271 2009/07/14 17:50:34 fabiankeil Exp $";
 /*********************************************************************
  *
  * File        :  $Source: /cvsroot/ijbswa/current/jcc.c,v $
@@ -1460,12 +1460,16 @@ static jb_err parse_client_request(struct client_state *csp)
       if (csp->iob->cur[0] != '\0')
       {
          csp->flags |= CSP_FLAG_SERVER_SOCKET_TAINTED;
-         if (!strcmpic(csp->http->gpc, "POST"))
+         if (strcmpic(csp->http->gpc, "GET")
+          && strcmpic(csp->http->gpc, "HEAD")
+          && strcmpic(csp->http->gpc, "TRACE")
+          && strcmpic(csp->http->gpc, "OPTIONS")
+          && strcmpic(csp->http->gpc, "DELETE"))
          {
             /* XXX: this is an incomplete hack */
             csp->flags &= ~CSP_FLAG_CLIENT_REQUEST_COMPLETELY_READ;
             log_error(LOG_LEVEL_CONNECT,
-               "POST request detected. The connection will not be kept alive.");
+               "There might be a request body. The connection will not be kept alive.");
          }
          else
          {