summaryrefslogtreecommitdiff
path: root/server
diff options
context:
space:
mode:
authorWilliam A. Rowe Jr <wrowe@apache.org>2017-06-29 00:16:27 +0000
committerWilliam A. Rowe Jr <wrowe@apache.org>2017-06-29 00:16:27 +0000
commit3170de3d464f5b4c8c9e11fecb3ed0604b7e9761 (patch)
treebec86a4ce1c657fe8a297456f54e56d381d83d77 /server
parentccc329612beb187ed92328db10d5c29adcb8e8d4 (diff)
downloadhttpd-3170de3d464f5b4c8c9e11fecb3ed0604b7e9761.tar.gz
Restore single-char field names inadvertantly disallowed in 2.4.25.
Backports: r1800173 PR: 61220 Submitted by: ylavic Reviewed by: wrowe, jchampion, ylavic git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1800215 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'server')
-rw-r--r--server/protocol.c15
1 files changed, 6 insertions, 9 deletions
diff --git a/server/protocol.c b/server/protocol.c
index ff44b3937c..edf3ed91c1 100644
--- a/server/protocol.c
+++ b/server/protocol.c
@@ -1088,8 +1088,12 @@ AP_DECLARE(void) ap_get_mime_headers_core(request_rec *r, apr_bucket_brigade *bb
return;
}
- /* last character of field-name */
- tmp_field = value - (value > last_field ? 1 : 0);
+ if (value == last_field) {
+ r->status = HTTP_BAD_REQUEST;
+ ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r, APLOGNO(03453)
+ "Request header field name was empty");
+ return;
+ }
*value++ = '\0'; /* NUL-terminate at colon */
@@ -1112,13 +1116,6 @@ AP_DECLARE(void) ap_get_mime_headers_core(request_rec *r, apr_bucket_brigade *bb
" bad whitespace");
return;
}
-
- if (tmp_field == last_field) {
- r->status = HTTP_BAD_REQUEST;
- ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r, APLOGNO(03453)
- "Request header field name was empty");
- return;
- }
}
else /* Using strict RFC7230 parsing */
{