From 181d684d5c484bb0c38615310e62efde7a4862d7 Mon Sep 17 00:00:00 2001 From: Jim Jagielski Date: Fri, 23 Dec 2016 12:34:28 +0000 Subject: [PATCH] Merge r1775199, r1775664 from trunk: Fix strict Host: header checking on EBCDIC on zOS, isascii() really means 7 bit ascii, but our strings are in ebcdic for 99.95% of the lifetime of the server. remove initial isascii check entirely We are already checking an even narrower set of characters just below. Submitted by: covener Reviewed/backported by: jim git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1775827 13f79535-47bb-0310-9956-ffa450edef68 --- STATUS | 5 ----- server/vhost.c | 5 +---- 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/STATUS b/STATUS index d17e99f4d6a..0aa7ea6d3a7 100644 --- a/STATUS +++ b/STATUS @@ -119,11 +119,6 @@ RELEASE SHOWSTOPPERS: PATCHES ACCEPTED TO BACKPORT FROM TRUNK: [ start all new proposals below, under PATCHES PROPOSED. ] - *) core: remove isascci check before narrower checks in vhost checking - trunk patch: http://svn.apache.org/r1775199 - http://svn.apache.org/r1775664 - 2.4.x patch: trunk works + CHANGES - +1: covener, jim, ylavic *) mod_http: Optimize bad headers handling workflow Trunk version of patch: diff --git a/server/vhost.c b/server/vhost.c index 18965956535..c4bd846f7d9 100644 --- a/server/vhost.c +++ b/server/vhost.c @@ -757,10 +757,7 @@ static apr_status_t strict_hostname_check(request_rec *r, char *host) int is_dotted_decimal = 1, leading_zeroes = 0, dots = 0; for (ch = host; *ch; ch++) { - if (!apr_isascii(*ch)) { - goto bad; - } - else if (apr_isalpha(*ch) || *ch == '-') { + if (apr_isalpha(*ch) || *ch == '-') { is_dotted_decimal = 0; } else if (ch[0] == '.') { -- 2.47.2