Torsten Förtsch wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Wednesday 20 October 2004 02:17, Stas Bekman wrote:

Can you please show the relevant configuration parts?


The attached archive contains 3 files TEST, conf/extra.conf.in and t1.t. Running "perl TEST" shows 5 succeeding tests for me. Test 1 and test 5 expect the error to appear.

The relevant configuration parts are shown in conf/extra.conf.in:

- -------------------------------------------------------------------------------
<VirtualHost PerlSetOutputFilter>
PerlSetOutputFilter INCLUDES
</VirtualHost>

Thanks for the test Torsten (btw there is a new interface for checking the error_log files without destroying them :) See t/lib/TestCommon/LogDiff


Please try the attached fix (I'm afraid you'd get lines wrapped, so I didn't inline it). I'll commit it when 1.99_17 is released.


-- __________________________________________________________________ Stas Bekman JAm_pH ------> Just Another mod_perl Hacker http://stason.org/ mod_perl Guide ---> http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com
Index: src/modules/perl/modperl_filter.c
===================================================================
RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_filter.c,v
retrieving revision 1.100
diff -u -r1.100 modperl_filter.c
--- src/modules/perl/modperl_filter.c   30 Sep 2004 03:45:10 -0000      1.100
+++ src/modules/perl/modperl_filter.c   21 Oct 2004 03:23:23 -0000
@@ -950,10 +950,28 @@
 
             /* process non-mod_perl filter handlers */
             if ((handlers[i]->attrs & MP_FILTER_HTTPD_HANDLER)) {
+
+                /* non-mp2 filters below PROTOCOL level can't be added
+                 * at the connection level, so we need to go through
+                 * the pain of figuring out the type of the filter */
+                ap_filter_rec_t *frec;
+                char *normalized_name = apr_pstrdup(c->pool,
+                                                    handlers[i]->name);
+                ap_str_tolower(normalized_name);
+                frec = idx == MP_INPUT_FILTER_HANDLER
+                    ? ap_get_input_filter_handle(normalized_name)
+                    : ap_get_output_filter_handle(normalized_name);
+                if (frec && frec->ftype < AP_FTYPE_PROTOCOL) {
+                    MP_TRACE_f(MP_FUNC, "a non-mod_perl %s handler %s "
+                               "skipped (not a connection filter)",
+                               type, handlers[i]->name);
+                    continue;
+                }
+
                 addfunc(handlers[i]->name, NULL, NULL, c);
                 MP_TRACE_f(MP_FUNC,
-                           "a non-mod_perl %s handler %s configured (connection)\n",
-                           type, handlers[i]->name);
+                           "a non-mod_perl %s handler %s configured "
+                           "(connection)\n", type, handlers[i]->name);
                 continue;
             }
             

-- 
Report problems: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html
List etiquette: http://perl.apache.org/maillist/email-etiquette.html

Reply via email to