]> granicus.if.org Git - apache/commitdiff
On ebcdic systems, make sure E2A conversion happens last,
authorEric Covener <covener@apache.org>
Fri, 28 Aug 2015 15:44:29 +0000 (15:44 +0000)
committerEric Covener <covener@apache.org>
Fri, 28 Aug 2015 15:44:29 +0000 (15:44 +0000)
so other resource filters looking at or adding ebcdic strings
see ebcdic bytes. e.g. SSI in an EBCDIC file.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1698357 13f79535-47bb-0310-9956-ffa450edef68

CHANGES
modules/filters/mod_charset_lite.c

diff --git a/CHANGES b/CHANGES
index af36d7e4cdb4ac4addb29a167de149374f757352..62d04eeebc6a3911efc094b0c94bebebab795a4f 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,9 @@
                                                          -*- coding: utf-8 -*-
 Changes with Apache 2.5.0
 
+  *) mod_charset_lite: On EBCDIC platforms, make sure mod_charset_lite runs
+     after other resource-level filters. [Eric Covener]
+
   *) mod_dir: Responses that go through "FallbackResource" might appear to
      hang due to unterminated chunked encoding. PR58292. [Eric Covener]
 
index d991c12bbd9f7e5a5ae59d7dbeca35336ee9bfd3..aa46dc3852b34a36b75b4ac9d1136ecd3642beeb 100644 (file)
@@ -1123,10 +1123,17 @@ static void charset_register_hooks(apr_pool_t *p)
 {
     ap_hook_fixups(find_code_page, NULL, NULL, APR_HOOK_MIDDLE);
     ap_hook_insert_filter(xlate_insert_filter, NULL, NULL, APR_HOOK_REALLY_LAST);
+#if APR_CHARSET_EBCDIC
+    ap_register_output_filter(XLATEOUT_FILTER_NAME, xlate_out_filter, NULL,
+                              AP_FTYPE_RESOURCE+1);
+    ap_register_input_filter(XLATEIN_FILTER_NAME, xlate_in_filter, NULL,
+                             AP_FTYPE_RESOURCE+1);
+#else
     ap_register_output_filter(XLATEOUT_FILTER_NAME, xlate_out_filter, NULL,
                               AP_FTYPE_RESOURCE);
     ap_register_input_filter(XLATEIN_FILTER_NAME, xlate_in_filter, NULL,
                              AP_FTYPE_RESOURCE);
+#endif
 }
 
 AP_DECLARE_MODULE(charset_lite) =