]> granicus.if.org Git - apache/commitdiff
We should be copying the filters as well when we perform the extension merge
authorJustin Erenkrantz <jerenkrantz@apache.org>
Sun, 2 Sep 2001 08:34:45 +0000 (08:34 +0000)
committerJustin Erenkrantz <jerenkrantz@apache.org>
Sun, 2 Sep 2001 08:34:45 +0000 (08:34 +0000)
(which seems to use a ; syntax).

Try:
AddOutputFilter GZ html  (server-level)
AddOutputFilter Includes html  (directory-level)

Oops.

Without this, when you use mod_gz and go to /foobarnotthere/, the error
page isn't handled by mod_include.  Oooops.

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

modules/http/mod_mime.c

index 6854dd8408319b486017dc046241c9d4ffb910ae..1d91d0df496fc944510aae2d6a06eee03a8f38ff 100644 (file)
@@ -191,6 +191,24 @@ static void overlay_extension_mappings(apr_pool_t *p,
             if (overlay_info->charset_type) {
                 base_info->charset_type = overlay_info->charset_type;
             }
+            if (overlay_info->input_filters) {
+                /* We need to concat the filters */
+                if (base_info->input_filters)
+                    base_info->input_filters = apr_pstrcat(p, 
+                                            base_info->input_filters, ";", 
+                                            overlay_info->input_filters, NULL);
+                else
+                    base_info->input_filters = overlay_info->input_filters;
+            }
+            if (overlay_info->output_filters) {
+                /* We need to concat the filters */
+                if (base_info->output_filters)
+                    base_info->output_filters = apr_pstrcat(p, 
+                                           base_info->output_filters, ";", 
+                                           overlay_info->output_filters, NULL);
+                else
+                    base_info->output_filters = overlay_info->output_filters;
+            }
         }
         else {
             apr_hash_set(base, key, klen, overlay_info);