You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by ni...@apache.org on 2017/03/06 23:00:36 UTC

svn commit: r1785780 - /httpd/httpd/trunk/modules/filters/mod_xml2enc.c

Author: niq
Date: Mon Mar  6 23:00:36 2017
New Revision: 1785780

URL: http://svn.apache.org/viewvc?rev=1785780&view=rev
Log:
mod_xml2enc: cut out inappropriate fallback (and misleading log message)
when we've failed to detect a charset but successfully fallen back to
config default.
Analysis by Tim Skopnik, patch by niq.

Modified:
    httpd/httpd/trunk/modules/filters/mod_xml2enc.c

Modified: httpd/httpd/trunk/modules/filters/mod_xml2enc.c
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/filters/mod_xml2enc.c?rev=1785780&r1=1785779&r2=1785780&view=diff
==============================================================================
--- httpd/httpd/trunk/modules/filters/mod_xml2enc.c (original)
+++ httpd/httpd/trunk/modules/filters/mod_xml2enc.c Mon Mar  6 23:00:36 2017
@@ -245,7 +245,13 @@ static void sniff_encoding(request_rec*
         cfg = ap_get_module_config(r->per_dir_config, &xml2enc_module);
         if (!ctx->encoding) {
             ctx->encoding = cfg->default_charset?cfg->default_charset:"ISO-8859-1";
+            ctx->xml2enc = xmlParseCharEncoding(ctx->encoding);
         }
+    }
+    /* Test again: this fallback is only appropriate if we couldn't
+     * just fall back to the configuration default.
+     */
+    if (!HAVE_ENCODING(ctx->xml2enc)) {
         /* Unsupported charset. Can we get (iconv) support through apr_xlate? */
         ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r, APLOGNO(01434)
                       "Charset %s not supported by libxml2; trying apr_xlate",