From: Amos Jeffries Date: Fri, 3 Sep 2010 08:31:22 +0000 (-0600) Subject: request_parse_status is a 3.2 only feature X-Git-Tag: SQUID_3_1_8~4 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c30392cfb76a2d493839909447b18610fece525f;p=thirdparty%2Fsquid.git request_parse_status is a 3.2 only feature --- diff --git a/src/HttpMsg.cc b/src/HttpMsg.cc index b0439998d6..053c92599b 100644 --- a/src/HttpMsg.cc +++ b/src/HttpMsg.cc @@ -517,7 +517,6 @@ HttpParser::parseRequestFirstLine() // RFC 2616 section 5.1 // "No CR or LF is allowed except in the final CRLF sequence" - request_parse_status = HTTP_BAD_REQUEST; return -1; } } @@ -538,25 +537,21 @@ HttpParser::parseRequestFirstLine() // First non-whitespace = beginning of method if (req_start > line_end) { - request_parse_status = HTTP_BAD_REQUEST; return -1; } m_start = req_start; // First whitespace = end of method if (first_whitespace > line_end || first_whitespace < req_start) { - request_parse_status = HTTP_BAD_REQUEST; // no method return -1; } m_end = first_whitespace - 1; if (m_end < m_start) { - request_parse_status = HTTP_BAD_REQUEST; // missing URI? return -1; } // First non-whitespace after first SP = beginning of URL+Version if (second_word > line_end || second_word < req_start) { - request_parse_status = HTTP_BAD_REQUEST; // missing URI return -1; } u_start = second_word; @@ -567,7 +562,6 @@ HttpParser::parseRequestFirstLine() v_maj = 0; v_min = 9; u_end = line_end; - request_parse_status = HTTP_OK; // HTTP/0.9 return 1; } else { // otherwise last whitespace is somewhere after end of URI. @@ -576,13 +570,11 @@ HttpParser::parseRequestFirstLine() for (; u_end >= u_start && xisspace(buf[u_end]); u_end--); } if (u_end < u_start) { - request_parse_status = HTTP_BAD_REQUEST; // missing URI return -1; } // Last whitespace SP = before start of protocol/version if (last_whitespace >= line_end) { - request_parse_status = HTTP_BAD_REQUEST; // missing version return -1; } v_start = last_whitespace + 1; @@ -597,10 +589,8 @@ HttpParser::parseRequestFirstLine() v_maj = 0; v_min = 9; u_end = line_end; - request_parse_status = HTTP_OK; // treat as HTTP/0.9 return 1; #else - request_parse_status = HTTP_HTTP_VERSION_NOT_SUPPORTED; // protocol not supported / implemented. return -1; #endif } @@ -609,7 +599,6 @@ HttpParser::parseRequestFirstLine() /* next should be 1 or more digits */ if (!isdigit(buf[i])) { - request_parse_status = HTTP_HTTP_VERSION_NOT_SUPPORTED; return -1; } int maj = 0; @@ -619,25 +608,21 @@ HttpParser::parseRequestFirstLine() } // catch too-big values or missing remainders if (maj >= 65536 || i > line_end) { - request_parse_status = HTTP_HTTP_VERSION_NOT_SUPPORTED; return -1; } v_maj = maj; /* next should be .; we -have- to have this as we have a whole line.. */ if (buf[i] != '.') { - request_parse_status = HTTP_HTTP_VERSION_NOT_SUPPORTED; return -1; } // catch missing minor part if (++i > line_end) { - request_parse_status = HTTP_HTTP_VERSION_NOT_SUPPORTED; return -1; } /* next should be one or more digits */ if (!isdigit(buf[i])) { - request_parse_status = HTTP_HTTP_VERSION_NOT_SUPPORTED; return -1; } int min = 0; @@ -647,7 +632,6 @@ HttpParser::parseRequestFirstLine() } // catch too-big values or trailing garbage if (min >= 65536 || i < line_end) { - request_parse_status = HTTP_HTTP_VERSION_NOT_SUPPORTED; return -1; } v_min = min; @@ -655,7 +639,6 @@ HttpParser::parseRequestFirstLine() /* * Rightio - we have all the schtuff. Return true; we've got enough. */ - request_parse_status = HTTP_OK; return 1; } diff --git a/src/tests/testHttpRequest.cc b/src/tests/testHttpRequest.cc index 400e20a9a0..e67598262e 100644 --- a/src/tests/testHttpRequest.cc +++ b/src/tests/testHttpRequest.cc @@ -224,7 +224,6 @@ testHttpRequest::testParseRequestLine() input.append("GET /\r\n", 7); HttpParserInit(&output, input.content(), input.contentSize()); CPPUNIT_ASSERT_EQUAL(1, HttpParserParseReqLine(&output)); - CPPUNIT_ASSERT_EQUAL(HTTP_OK, output.request_parse_status); CPPUNIT_ASSERT_EQUAL(0, output.req_start); CPPUNIT_ASSERT_EQUAL((int)input.contentSize()-1, output.req_end); CPPUNIT_ASSERT(memcmp("GET /\r\n", &output.buf[output.req_start],(output.req_end-output.req_start+1)) == 0); @@ -244,7 +243,6 @@ testHttpRequest::testParseRequestLine() input.append("GET / HTTP/1.0\r\n", 16); HttpParserInit(&output, input.content(), input.contentSize()); CPPUNIT_ASSERT_EQUAL(1, HttpParserParseReqLine(&output)); - CPPUNIT_ASSERT_EQUAL(HTTP_OK, output.request_parse_status); CPPUNIT_ASSERT_EQUAL(0, output.req_start); CPPUNIT_ASSERT_EQUAL((int)input.contentSize()-1, output.req_end); CPPUNIT_ASSERT(memcmp("GET / HTTP/1.0\r\n", &output.buf[output.req_start],(output.req_end-output.req_start+1)) == 0); @@ -266,7 +264,6 @@ testHttpRequest::testParseRequestLine() input.append("GET / HTTP/1.1\r\n", 16); HttpParserInit(&output, input.content(), input.contentSize()); CPPUNIT_ASSERT_EQUAL(1, HttpParserParseReqLine(&output)); - CPPUNIT_ASSERT_EQUAL(HTTP_OK, output.request_parse_status); CPPUNIT_ASSERT_EQUAL(0, output.req_start); CPPUNIT_ASSERT_EQUAL((int)input.contentSize()-1, output.req_end); CPPUNIT_ASSERT(memcmp("GET / HTTP/1.1\r\n", &output.buf[output.req_start],(output.req_end-output.req_start+1)) == 0); @@ -288,7 +285,6 @@ testHttpRequest::testParseRequestLine() //printf("TEST: '%s'\n",input.content()); HttpParserInit(&output, input.content(), input.contentSize()); CPPUNIT_ASSERT_EQUAL(1, HttpParserParseReqLine(&output)); - CPPUNIT_ASSERT_EQUAL(HTTP_OK, output.request_parse_status); CPPUNIT_ASSERT_EQUAL(0, output.req_start); CPPUNIT_ASSERT_EQUAL((int)input.contentSize()-1, output.req_end); CPPUNIT_ASSERT(memcmp("GET / HTTP/10.12\r\n", &output.buf[output.req_start],(output.req_end-output.req_start+1)) == 0); @@ -310,7 +306,6 @@ testHttpRequest::testParseRequestLine() //printf("TEST: '%s'\n",input.content()); HttpParserInit(&output, input.content(), input.contentSize()); CPPUNIT_ASSERT_EQUAL(1, HttpParserParseReqLine(&output)); - CPPUNIT_ASSERT_EQUAL(HTTP_OK, output.request_parse_status); CPPUNIT_ASSERT_EQUAL(0, output.req_start); CPPUNIT_ASSERT_EQUAL((int)input.contentSize()-1, output.req_end); CPPUNIT_ASSERT(memcmp("GET / HTTP/1.1\r\n", &output.buf[output.req_start],(output.req_end-output.req_start+1)) == 0); @@ -334,7 +329,6 @@ testHttpRequest::testParseRequestLine() //printf("TEST: '%s'\n",input.content()); HttpParserInit(&output, input.content(), input.contentSize()); CPPUNIT_ASSERT_EQUAL(-1, HttpParserParseReqLine(&output)); - CPPUNIT_ASSERT_EQUAL(HTTP_BAD_REQUEST, output.request_parse_status); CPPUNIT_ASSERT_EQUAL(0, output.req_start); CPPUNIT_ASSERT_EQUAL((int)input.contentSize()-1, output.req_end); CPPUNIT_ASSERT(memcmp("GET / HTTP/1.1 \n", &output.buf[output.req_start],(output.req_end-output.req_start+1)) == 0); @@ -355,7 +349,6 @@ testHttpRequest::testParseRequestLine() //printf("TEST: '%s'\n",input.content()); HttpParserInit(&output, input.content(), input.contentSize()); CPPUNIT_ASSERT_EQUAL(1, HttpParserParseReqLine(&output)); - CPPUNIT_ASSERT_EQUAL(HTTP_OK, output.request_parse_status); CPPUNIT_ASSERT_EQUAL(0, output.req_start); CPPUNIT_ASSERT_EQUAL((int)input.contentSize()-1, output.req_end); CPPUNIT_ASSERT(memcmp("GET /fo o/ HTTP/1.1\n", &output.buf[output.req_start],(output.req_end-output.req_start+1)) == 0); @@ -377,7 +370,6 @@ testHttpRequest::testParseRequestLine() //printf("TEST: '%s'\n",input.content()); HttpParserInit(&output, input.content(), input.contentSize()); CPPUNIT_ASSERT_EQUAL(1, HttpParserParseReqLine(&output)); - CPPUNIT_ASSERT_EQUAL(HTTP_OK, output.request_parse_status); CPPUNIT_ASSERT_EQUAL(0, output.req_start); CPPUNIT_ASSERT_EQUAL((int)input.contentSize()-5, output.req_end); CPPUNIT_ASSERT(memcmp("GET / HTTP/1.1\n", &output.buf[output.req_start],(output.req_end-output.req_start+1)) == 0); @@ -399,7 +391,6 @@ testHttpRequest::testParseRequestLine() //printf("TEST: '%s'\n",input.content()); HttpParserInit(&output, input.content(), input.contentSize()); CPPUNIT_ASSERT_EQUAL(1, HttpParserParseReqLine(&output)); - CPPUNIT_ASSERT_EQUAL(HTTP_OK, output.request_parse_status); CPPUNIT_ASSERT_EQUAL(0, output.req_start); CPPUNIT_ASSERT_EQUAL((int)input.contentSize()-1, output.req_end); CPPUNIT_ASSERT(memcmp("GET / HTTP/1.1\n", &output.buf[output.req_start],(output.req_end-output.req_start+1)) == 0); @@ -421,7 +412,6 @@ testHttpRequest::testParseRequestLine() //printf("TEST: '%s'\n",input.content()); HttpParserInit(&output, input.content(), input.contentSize()); CPPUNIT_ASSERT_EQUAL(1, HttpParserParseReqLine(&output)); - CPPUNIT_ASSERT_EQUAL(HTTP_OK, output.request_parse_status); CPPUNIT_ASSERT_EQUAL(0, output.req_start); CPPUNIT_ASSERT_EQUAL((int)input.contentSize()-2, output.req_end); CPPUNIT_ASSERT(memcmp("GET / HTTP/1.1\n", &output.buf[output.req_start],(output.req_end-output.req_start+1)) == 0); @@ -445,7 +435,6 @@ testHttpRequest::testParseRequestLine() Config.onoff.relaxed_header_parser = 1; // Being tolerant we can ignore and elide these apparently benign CR CPPUNIT_ASSERT_EQUAL(1, HttpParserParseReqLine(&output)); - CPPUNIT_ASSERT_EQUAL(HTTP_OK, output.request_parse_status); CPPUNIT_ASSERT_EQUAL(0, output.req_start); CPPUNIT_ASSERT_EQUAL((int)input.contentSize()-1, output.req_end); CPPUNIT_ASSERT(memcmp("GET / HTTP/1.1\r\r\r\n", &output.buf[output.req_start],(output.req_end-output.req_start+1)) == 0); @@ -469,7 +458,6 @@ testHttpRequest::testParseRequestLine() // strict mode treats these as several bare-CR in the request line which is explicitly invalid. Config.onoff.relaxed_header_parser = 0; CPPUNIT_ASSERT_EQUAL(-1, HttpParserParseReqLine(&output)); - CPPUNIT_ASSERT_EQUAL(HTTP_BAD_REQUEST, output.request_parse_status); CPPUNIT_ASSERT_EQUAL(0, output.req_start); CPPUNIT_ASSERT_EQUAL(-1, output.req_end); CPPUNIT_ASSERT_EQUAL(-1, output.m_start); @@ -487,7 +475,6 @@ testHttpRequest::testParseRequestLine() //printf("TEST: '%s'\n",input.content()); HttpParserInit(&output, input.content(), input.contentSize()); CPPUNIT_ASSERT_EQUAL(1, HttpParserParseReqLine(&output)); - CPPUNIT_ASSERT_EQUAL(HTTP_OK, output.request_parse_status); CPPUNIT_ASSERT_EQUAL(0, output.req_start); CPPUNIT_ASSERT_EQUAL((int)input.contentSize()-1, output.req_end); CPPUNIT_ASSERT(memcmp(". / HTTP/1.1\n", &output.buf[output.req_start],(output.req_end-output.req_start+1)) == 0); @@ -509,7 +496,6 @@ testHttpRequest::testParseRequestLine() //printf("TEST: '%s'\n",input.content()); HttpParserInit(&output, input.content(), input.contentSize()); CPPUNIT_ASSERT_EQUAL(1, HttpParserParseReqLine(&output)); - CPPUNIT_ASSERT_EQUAL(HTTP_OK, output.request_parse_status); CPPUNIT_ASSERT_EQUAL(0, output.req_start); CPPUNIT_ASSERT_EQUAL((int)input.contentSize()-1, output.req_end); CPPUNIT_ASSERT(memcmp("OPTIONS * HTTP/1.1\n", &output.buf[output.req_start],(output.req_end-output.req_start+1)) == 0); @@ -531,7 +517,6 @@ testHttpRequest::testParseRequestLine() //printf("TEST: '%s'\n",input.content()); HttpParserInit(&output, input.content(), input.contentSize()); CPPUNIT_ASSERT_EQUAL(1, HttpParserParseReqLine(&output)); - CPPUNIT_ASSERT_EQUAL(HTTP_OK, output.request_parse_status); CPPUNIT_ASSERT_EQUAL(0, output.req_start); CPPUNIT_ASSERT_EQUAL((int)input.contentSize()-1, output.req_end); CPPUNIT_ASSERT(memcmp("HELLOWORLD / HTTP/1.1\n", &output.buf[output.req_start],(output.req_end-output.req_start+1)) == 0); @@ -555,14 +540,12 @@ testHttpRequest::testParseRequestLine() HttpParserInit(&output, input.content(), input.contentSize()); #if USE_HTTP_VIOLATIONS CPPUNIT_ASSERT_EQUAL(1, HttpParserParseReqLine(&output)); - CPPUNIT_ASSERT_EQUAL(HTTP_OK, output.request_parse_status); CPPUNIT_ASSERT_EQUAL(12, output.u_end); CPPUNIT_ASSERT(memcmp("/ FOO/1.0", &output.buf[output.u_start],(output.u_end-output.u_start+1)) == 0); CPPUNIT_ASSERT_EQUAL(0, output.v_maj); CPPUNIT_ASSERT_EQUAL(9, output.v_min); #else CPPUNIT_ASSERT_EQUAL(-1, HttpParserParseReqLine(&output)); - CPPUNIT_ASSERT_EQUAL(HTTP_HTTP_VERSION_NOT_SUPPORTED, output.request_parse_status); CPPUNIT_ASSERT_EQUAL(4, output.u_end); CPPUNIT_ASSERT(memcmp("/", &output.buf[output.u_start],(output.u_end-output.u_start+1)) == 0); CPPUNIT_ASSERT_EQUAL(0, output.v_maj); @@ -586,7 +569,6 @@ testHttpRequest::testParseRequestLine() HttpParserInit(&output, input.content(), input.contentSize()); Config.onoff.relaxed_header_parser = 1; CPPUNIT_ASSERT_EQUAL(1, HttpParserParseReqLine(&output)); - CPPUNIT_ASSERT_EQUAL(HTTP_OK, output.request_parse_status); CPPUNIT_ASSERT_EQUAL(1, output.req_start); CPPUNIT_ASSERT_EQUAL((int)input.contentSize()-1, output.req_end); CPPUNIT_ASSERT(memcmp("GET / HTTP/1.1\n", &output.buf[output.req_start],(output.req_end-output.req_start+1)) == 0); @@ -609,7 +591,6 @@ testHttpRequest::testParseRequestLine() HttpParserInit(&output, input.content(), input.contentSize()); Config.onoff.relaxed_header_parser = 0; CPPUNIT_ASSERT_EQUAL(-1, HttpParserParseReqLine(&output)); - CPPUNIT_ASSERT_EQUAL(HTTP_BAD_REQUEST, output.request_parse_status); CPPUNIT_ASSERT_EQUAL(0, output.req_start); CPPUNIT_ASSERT_EQUAL((int)input.contentSize()-1, output.req_end); CPPUNIT_ASSERT(memcmp(" GET / HTTP/1.1\n", &output.buf[output.req_start],(output.req_end-output.req_start+1)) == 0); @@ -628,7 +609,6 @@ testHttpRequest::testParseRequestLine() //printf("TEST: '%s'\n",input.content()); HttpParserInit(&output, input.content(), input.contentSize()); CPPUNIT_ASSERT_EQUAL(1, HttpParserParseReqLine(&output)); - CPPUNIT_ASSERT_EQUAL(HTTP_OK, output.request_parse_status); CPPUNIT_ASSERT_EQUAL(0, output.req_start); CPPUNIT_ASSERT_EQUAL((int)input.contentSize()-1, output.req_end); CPPUNIT_ASSERT(memcmp("\tGET / HTTP/1.1\n", &output.buf[output.req_start],(output.req_end-output.req_start+1)) == 0); @@ -649,7 +629,6 @@ testHttpRequest::testParseRequestLine() //printf("TEST: '%s'\n",input.content()); HttpParserInit(&output, input.content(), input.contentSize()); CPPUNIT_ASSERT_EQUAL(0, HttpParserParseReqLine(&output)); - CPPUNIT_ASSERT_EQUAL(HTTP_STATUS_NONE, output.request_parse_status); CPPUNIT_ASSERT_EQUAL(0, output.req_start); CPPUNIT_ASSERT_EQUAL(-1, output.req_end); CPPUNIT_ASSERT_EQUAL(-1, output.m_start); @@ -666,7 +645,6 @@ testHttpRequest::testParseRequestLine() //printf("TEST: '%s'\n",input.content()); HttpParserInit(&output, input.content(), input.contentSize()); CPPUNIT_ASSERT_EQUAL(0, HttpParserParseReqLine(&output)); - CPPUNIT_ASSERT_EQUAL(HTTP_STATUS_NONE, output.request_parse_status); CPPUNIT_ASSERT_EQUAL(0, output.req_start); CPPUNIT_ASSERT_EQUAL(-1, output.req_end); CPPUNIT_ASSERT_EQUAL(-1, output.m_start); @@ -683,7 +661,6 @@ testHttpRequest::testParseRequestLine() //printf("TEST: '%s'\n",input.content()); HttpParserInit(&output, input.content(), input.contentSize()); CPPUNIT_ASSERT_EQUAL(0, HttpParserParseReqLine(&output)); - CPPUNIT_ASSERT_EQUAL(HTTP_STATUS_NONE, output.request_parse_status); CPPUNIT_ASSERT_EQUAL(0, output.req_start); CPPUNIT_ASSERT_EQUAL(-1, output.req_end); CPPUNIT_ASSERT_EQUAL(-1, output.m_start); @@ -700,7 +677,6 @@ testHttpRequest::testParseRequestLine() //printf("TEST: '%s'\n",input.content()); HttpParserInit(&output, input.content(), input.contentSize()); CPPUNIT_ASSERT_EQUAL(0, HttpParserParseReqLine(&output)); - CPPUNIT_ASSERT_EQUAL(HTTP_STATUS_NONE, output.request_parse_status); CPPUNIT_ASSERT_EQUAL(0, output.req_start); CPPUNIT_ASSERT_EQUAL(-1, output.req_end); CPPUNIT_ASSERT_EQUAL(-1, output.m_start); @@ -718,7 +694,6 @@ testHttpRequest::testParseRequestLine() //printf("TEST: '%s'\n",input.content()); HttpParserInit(&output, input.content(), input.contentSize()); CPPUNIT_ASSERT_EQUAL(-1, HttpParserParseReqLine(&output)); - CPPUNIT_ASSERT_EQUAL(HTTP_BAD_REQUEST, output.request_parse_status); CPPUNIT_ASSERT_EQUAL(0, output.req_start); CPPUNIT_ASSERT_EQUAL((int)input.contentSize()-1, output.req_end); CPPUNIT_ASSERT(memcmp("A\n", &output.buf[output.req_start],(output.req_end-output.req_start+1)) == 0); @@ -737,7 +712,6 @@ testHttpRequest::testParseRequestLine() //printf("TEST: '%s'\n",input.content()); HttpParserInit(&output, input.content(), input.contentSize()); CPPUNIT_ASSERT_EQUAL(1, HttpParserParseReqLine(&output)); - CPPUNIT_ASSERT_EQUAL(HTTP_OK, output.request_parse_status); CPPUNIT_ASSERT_EQUAL(0, output.req_start); CPPUNIT_ASSERT_EQUAL((int)input.contentSize()-1, output.req_end); CPPUNIT_ASSERT(memcmp("/ HTTP/1.0\n", &output.buf[output.req_start],(output.req_end-output.req_start+1)) == 0); @@ -760,7 +734,6 @@ testHttpRequest::testParseRequestLine() // When tolerantly ignoring SP prefix this case becomes ambiguous with HTTP/0.9 simple-request) Config.onoff.relaxed_header_parser = 1; CPPUNIT_ASSERT_EQUAL(1, HttpParserParseReqLine(&output)); - CPPUNIT_ASSERT_EQUAL(HTTP_OK, output.request_parse_status); CPPUNIT_ASSERT_EQUAL(1, output.req_start); CPPUNIT_ASSERT_EQUAL((int)input.contentSize()-1, output.req_end); CPPUNIT_ASSERT(memcmp("/ HTTP/1.0\n", &output.buf[output.req_start],(output.req_end-output.req_start+1)) == 0); @@ -783,7 +756,6 @@ testHttpRequest::testParseRequestLine() // When tolerantly ignoring SP prefix this case becomes ambiguous with HTTP/0.9 simple-request) Config.onoff.relaxed_header_parser = 0; CPPUNIT_ASSERT_EQUAL(-1, HttpParserParseReqLine(&output)); - CPPUNIT_ASSERT_EQUAL(HTTP_BAD_REQUEST, output.request_parse_status); CPPUNIT_ASSERT_EQUAL(0, output.req_start); CPPUNIT_ASSERT_EQUAL((int)input.contentSize()-1, output.req_end); CPPUNIT_ASSERT(memcmp(" / HTTP/1.0\n", &output.buf[output.req_start],(output.req_end-output.req_start+1)) == 0); @@ -802,7 +774,6 @@ testHttpRequest::testParseRequestLine() //printf("TEST: %d-%d/%d '%.*s'\n", output.req_start, output.req_end, input.contentSize(), 16, input.content()); HttpParserInit(&output, input.content(), input.contentSize()); CPPUNIT_ASSERT_EQUAL(1, HttpParserParseReqLine(&output)); - CPPUNIT_ASSERT_EQUAL(HTTP_OK, output.request_parse_status); CPPUNIT_ASSERT_EQUAL(0, output.req_start); CPPUNIT_ASSERT_EQUAL((int)input.contentSize()-1, output.req_end); CPPUNIT_ASSERT(memcmp("GET\x0B / HTTP/1.1\n", &output.buf[output.req_start],(output.req_end-output.req_start+1)) == 0); @@ -825,7 +796,6 @@ testHttpRequest::testParseRequestLine() //printf("TEST: '%s'\n",input.content()); HttpParserInit(&output, input.content(), input.contentSize()); CPPUNIT_ASSERT_EQUAL(-1, HttpParserParseReqLine(&output)); - CPPUNIT_ASSERT_EQUAL(HTTP_BAD_REQUEST, output.request_parse_status); CPPUNIT_ASSERT_EQUAL(0, output.req_start); CPPUNIT_ASSERT_EQUAL(-1, output.req_end); CPPUNIT_ASSERT_EQUAL(-1, output.m_start); @@ -843,7 +813,6 @@ testHttpRequest::testParseRequestLine() //printf("TEST: %d-%d/%d '%.*s'\n", output.req_start, output.req_end, input.contentSize(), 16, input.content()); HttpParserInit(&output, input.content(), input.contentSize()); CPPUNIT_ASSERT_EQUAL(1, HttpParserParseReqLine(&output)); - CPPUNIT_ASSERT_EQUAL(HTTP_OK, output.request_parse_status); CPPUNIT_ASSERT_EQUAL(0, output.req_start); CPPUNIT_ASSERT_EQUAL((int)input.contentSize()-1, output.req_end); CPPUNIT_ASSERT(memcmp("GET\0 / HTTP/1.1\n", &output.buf[output.req_start],(output.req_end-output.req_start+1)) == 0); @@ -865,7 +834,6 @@ testHttpRequest::testParseRequestLine() //printf("TEST: '%s'\n",input.content()); HttpParserInit(&output, input.content(), input.contentSize()); CPPUNIT_ASSERT_EQUAL(1, HttpParserParseReqLine(&output)); - CPPUNIT_ASSERT_EQUAL(HTTP_OK, output.request_parse_status); CPPUNIT_ASSERT_EQUAL(0, output.req_start); CPPUNIT_ASSERT_EQUAL((int)input.contentSize()-1, output.req_end); CPPUNIT_ASSERT(memcmp("GET HTTP/1.1\n", &output.buf[output.req_start],(output.req_end-output.req_start+1)) == 0); @@ -886,7 +854,6 @@ testHttpRequest::testParseRequestLine() //printf("TEST: '%s'\n",input.content()); HttpParserInit(&output, input.content(), input.contentSize()); CPPUNIT_ASSERT_EQUAL(1, HttpParserParseReqLine(&output)); - CPPUNIT_ASSERT_EQUAL(HTTP_OK, output.request_parse_status); CPPUNIT_ASSERT_EQUAL(0, output.req_start); CPPUNIT_ASSERT_EQUAL((int)input.contentSize()-1, output.req_end); CPPUNIT_ASSERT(memcmp("GET HTTP/1.1\n", &output.buf[output.req_start],(output.req_end-output.req_start+1)) == 0); @@ -907,7 +874,6 @@ testHttpRequest::testParseRequestLine() //printf("TEST: '%s'\n",input.content()); HttpParserInit(&output, input.content(), input.contentSize()); CPPUNIT_ASSERT_EQUAL(-1, HttpParserParseReqLine(&output)); - CPPUNIT_ASSERT_EQUAL(HTTP_HTTP_VERSION_NOT_SUPPORTED, output.request_parse_status); CPPUNIT_ASSERT_EQUAL(0, output.req_start); CPPUNIT_ASSERT_EQUAL((int)input.contentSize()-1, output.req_end); CPPUNIT_ASSERT(memcmp("GET / HTTP/\n", &output.buf[output.req_start],(output.req_end-output.req_start+1)) == 0); @@ -929,7 +895,6 @@ testHttpRequest::testParseRequestLine() //printf("TEST: '%s'\n",input.content()); HttpParserInit(&output, input.content(), input.contentSize()); CPPUNIT_ASSERT_EQUAL(-1, HttpParserParseReqLine(&output)); - CPPUNIT_ASSERT_EQUAL(HTTP_HTTP_VERSION_NOT_SUPPORTED, output.request_parse_status); CPPUNIT_ASSERT_EQUAL(0, output.req_start); CPPUNIT_ASSERT_EQUAL((int)input.contentSize()-1, output.req_end); CPPUNIT_ASSERT(memcmp("GET / HTTP/.1\n", &output.buf[output.req_start],(output.req_end-output.req_start+1)) == 0); @@ -951,7 +916,6 @@ testHttpRequest::testParseRequestLine() //printf("TEST: '%s'\n",input.content()); HttpParserInit(&output, input.content(), input.contentSize()); CPPUNIT_ASSERT_EQUAL(-1, HttpParserParseReqLine(&output)); - CPPUNIT_ASSERT_EQUAL(HTTP_HTTP_VERSION_NOT_SUPPORTED, output.request_parse_status); CPPUNIT_ASSERT_EQUAL(0, output.req_start); CPPUNIT_ASSERT_EQUAL((int)input.contentSize()-1, output.req_end); CPPUNIT_ASSERT(memcmp("GET / HTTP/11\n", &output.buf[output.req_start],(output.req_end-output.req_start+1)) == 0); @@ -973,7 +937,6 @@ testHttpRequest::testParseRequestLine() //printf("TEST: '%s'\n",input.content()); HttpParserInit(&output, input.content(), input.contentSize()); CPPUNIT_ASSERT_EQUAL(-1, HttpParserParseReqLine(&output)); - CPPUNIT_ASSERT_EQUAL(HTTP_HTTP_VERSION_NOT_SUPPORTED, output.request_parse_status); CPPUNIT_ASSERT_EQUAL(0, output.req_start); CPPUNIT_ASSERT_EQUAL((int)input.contentSize()-1, output.req_end); CPPUNIT_ASSERT(memcmp("GET / HTTP/1.\n", &output.buf[output.req_start],(output.req_end-output.req_start+1)) == 0); @@ -995,7 +958,6 @@ testHttpRequest::testParseRequestLine() //printf("TEST: binary-line\n"); HttpParserInit(&output, input.content(), input.contentSize()); CPPUNIT_ASSERT_EQUAL(-1, HttpParserParseReqLine(&output)); - CPPUNIT_ASSERT_EQUAL(HTTP_BAD_REQUEST, output.request_parse_status); CPPUNIT_ASSERT_EQUAL(0, output.req_start); CPPUNIT_ASSERT_EQUAL((int)input.contentSize()-1, output.req_end); CPPUNIT_ASSERT(memcmp("\xB\xC\xE\xF\n", &output.buf[output.req_start],(output.req_end-output.req_start+1)) == 0); @@ -1016,7 +978,6 @@ testHttpRequest::testParseRequestLine() //printf("TEST: mixed whitespace\n"); HttpParserInit(&output, input.content(), input.contentSize()); CPPUNIT_ASSERT_EQUAL(-1, HttpParserParseReqLine(&output)); - CPPUNIT_ASSERT_EQUAL(HTTP_BAD_REQUEST, output.request_parse_status); CPPUNIT_ASSERT_EQUAL(0, output.req_start); CPPUNIT_ASSERT_EQUAL((int)input.contentSize()-1, output.req_end); CPPUNIT_ASSERT(memcmp("\t \t \t\n", &output.buf[output.req_start],(output.req_end-output.req_start+1)) == 0); @@ -1038,7 +999,6 @@ testHttpRequest::testParseRequestLine() //printf("TEST: mixed whitespace with CR\n"); HttpParserInit(&output, input.content(), input.contentSize()); CPPUNIT_ASSERT_EQUAL(-1, HttpParserParseReqLine(&output)); - CPPUNIT_ASSERT_EQUAL(HTTP_BAD_REQUEST, output.request_parse_status); CPPUNIT_ASSERT_EQUAL(0, output.req_start); CPPUNIT_ASSERT_EQUAL(-1, output.req_end); CPPUNIT_ASSERT_EQUAL(-1, output.m_start);