From 064bbab117228faf66f6fbe409f8c85e614112f6 Mon Sep 17 00:00:00 2001 From: Eric Covener Date: Tue, 20 Mar 2018 21:19:41 +0000 Subject: [PATCH] Merge r1827359 from trunk: PR62200: EBCDIC: ap_rgetline APR_ENOSPC On EBCDIC systems, translation does not occur in ap_rgetline() if the line is larger than the buffer size. (note: No STATUS vote for EBCDIC fix) Submitted By: Hank Ibell Committed By: covener git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1827360 13f79535-47bb-0310-9956-ffa450edef68 --- CHANGES | 4 ++++ server/protocol.c | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGES b/CHANGES index 963411b75d..2c263d6b0f 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,10 @@ -*- coding: utf-8 -*- Changes with Apache 2.4.34 + *) core: On ECBDIC platforms, some errors related to oversized headers + may be misreported or be logged as ASCII escapes. PR62200 + [Hank Ibell ] + Changes with Apache 2.4.33 *) core: Fix request timeout logging and possible crash for error_log hooks. diff --git a/server/protocol.c b/server/protocol.c index 6994633297..334757799e 100644 --- a/server/protocol.c +++ b/server/protocol.c @@ -476,7 +476,7 @@ AP_DECLARE(apr_status_t) ap_rgetline(char **s, apr_size_t n, apr_status_t rv; rv = ap_rgetline_core(s, n, read, r, fold, bb); - if (rv == APR_SUCCESS) { + if (rv == APR_SUCCESS || APR_STATUS_IS_ENOSPC(rv)) { ap_xlate_proto_from_ascii(*s, *read); } return rv; -- 2.40.0