Index: CHANGES
===================================================================
--- CHANGES (revision 829678)
+++ CHANGES (working copy)
@@ -1,6 +1,9 @@
-*- coding: utf-8 -*-
Changes with Apache 2.2.15
+ *) mod_charset_lite: Honor 'CharsetOptions NoImplicitAdd'.
+ [Eric Covener]
+
*) core: Return APR_EOF if request body is shorter than the length announced
by the client. PR 33098 [ Stefan Fritsch ]
Index: modules/filters/mod_charset_lite.c
===================================================================
--- modules/filters/mod_charset_lite.c (revision 829676)
+++ modules/filters/mod_charset_lite.c (working copy)
@@ -181,7 +181,7 @@
else if (!strcasecmp(flag, "NoImplicitAdd")) {
dc->implicit_add = IA_NOIMPADD;
}
- if (!strcasecmp(flag, "TranslateAllMimeTypes")) {
+ else if (!strcasecmp(flag, "TranslateAllMimeTypes")) {
dc->force_xlate = FX_FORCE;
}
else if (!strcasecmp(flag, "NoTranslateAllMimeTypes")) {
@@ -337,6 +337,15 @@
charset_dir_t *dc = ap_get_module_config(r->per_dir_config,
&charset_lite_module);
+ if (dc && (dc->implicit_add == IA_NOIMPADD)) {
+ if (dc->debug >= DBGLVL_GORY) {
+ ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r,
+ "xlate output filter not added implicitly because "
+ "CharsetOptions included 'NoImplicitAdd'");
+ }
+ return;
+ }
+
if (reqinfo) {
if (reqinfo->output_ctx && !configured_on_output(r, XLATEOUT_FILTER_NAME)) {
ap_add_output_filter(XLATEOUT_FILTER_NAME, reqinfo->output_ctx, r,
Index: docs/manual/mod/mod_charset_lite.html.en
===================================================================
--- docs/manual/mod/mod_charset_lite.html.en (revision 829676)
+++ docs/manual/mod/mod_charset_lite.html.en (working copy)
@@ -120,13 +120,20 @@
</Directory>
+
+ Specifying the same charset for both
CharsetSourceEnc
+ and
CharsetDefault disables translation. The charset
+ need not match the charset of the response, but it must be a valid charset on the system.
+
+
+
| Description: | Configures charset translation behavior |
| Syntax: | CharsetOptions option [option] ... |
-| Default: | CharsetOptions DebugLevel=0 NoImplicitAdd |
+| Default: | CharsetOptions DebugLevel=0 ImplicitAdd |
| Context: | server config, virtual host, directory, .htaccess |
| Override: | FileInfo |
| Status: | Extension |
@@ -198,7 +205,14 @@
The character set names in this example work with the iconv
translation support in Solaris 8.
+
+
+ Specifying the same charset for both
CharsetSourceEnc
+ and
CharsetDefault disables translation. The charset
+ need not match the charset of the response, but it must be a valid charset on the system.
+
+