From: William A. Rowe Jr Date: Thu, 22 Dec 2016 19:23:10 +0000 (+0000) Subject: Backports: r1188745 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=41a849ac437e079fa097ac271976411b3597868b;p=thirdparty%2Fapache%2Fhttpd.git Backports: r1188745 Submitted by: rpluem Correctly return a 400 (Bad request) in case of a HTTP/0.9 request like GET @example.org/foo git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.2.x-merge-http-strict@1775706 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/server/protocol.c b/server/protocol.c index 121e084dbbe..0fc47728eb6 100644 --- a/server/protocol.c +++ b/server/protocol.c @@ -982,15 +982,15 @@ request_rec *ap_read_request(conn_rec *conn) if (!read_request_line(r, tmp_bb)) { if (r->status == HTTP_REQUEST_URI_TOO_LARGE || r->status == HTTP_BAD_REQUEST) { - if (r->status == HTTP_BAD_REQUEST) { - ap_log_rerror(APLOG_MARK, APLOG_INFO, 0, r, - "request failed: invalid characters in URI"); - } - else { + if (r->status == HTTP_REQUEST_URI_TOO_LARGE) { ap_log_rerror(APLOG_MARK, APLOG_INFO, 0, r, "request failed: URI too long (longer than %d)", r->server->limit_req_line); } + else if (r->method == NULL) { + ap_log_rerror(APLOG_MARK, APLOG_INFO, 0, r, + "request failed: invalid characters in URI"); + } ap_send_error_response(r, 0); ap_update_child_status(conn->sbh, SERVER_BUSY_LOG, r); ap_run_log_transaction(r);