Re: SetOutputFilter doesn"t work...

Re: SetOutputFilter doesn"t work...

am 04.07.2006 08:16:44 von Axel-Stephane.SMORGRAV

SetOutputFilter works very well, even in Location filters. There are =
lots of happy customers of this feature, using it for such things as for =
example compression of response bodies.

Are you quite sure your filter is NOT invoked? Could you possibly have =
it generate some output to stderr?

I copied your filter declarations into an Apache 2.0.54 configuration =
and was unable to reproduce the behaviour you describe. That said, the =
response was cached by the browser and when reloading the page, it =
issued a conditional request to which the server responded with a 304. =
Therefore, at first it appeared as if the filter was not invoked, but =
after forcing an unconditional request, the page was correctly updated.

Here are the relevant parts of the configuration I used:

LoadModule ext_filter_module /opt/apache2/modules/mod_ext_filter.so
Listen labelle16:80

NameVirtualHost *:80

ServerName labelle16.gsi.fr
DocumentRoot /www/apachetest/htdocs/labelle16
CustomLog /www/apachetest/logs/access16_log combined
ErrorLog /www/apachetest/logs/error16_log
LogLevel debug

ExtFilterDefine a mode=3Doutput intype=3Dtext/html =
outtype=3Dtext/html cmd=3D"/bin/sed -e s/foo/bar/g"
ExtFilterDefine b mode=3Doutput intype=3Dtext/html =
outtype=3Dtext/html cmd=3D"/bin/sed -e s/bing/boom/g"


Header set Cache-Control no-cache
SetOutputFilter a



-ascs


-----Original Message-----
From: Andy Buckley [mailto:andy.buckley@durham.ac.uk]
Sent: Thursday, June 29, 2006 3:10 PM
To: users@httpd.apache.org
Subject: [users@httpd] SetOutputFilter doesn't work in s?

Hi,

(Before I begin: I sent two messages on a similar topic to this a couple =
of weeks ago but got no reply: can someone please give me some feedback =
on whether I should report this issue as a bug or if it is my fault?)

I have a long-standing problem with getting Apache 2 output filters to =
work on a per- basis. As far as I can tell, the =
SetOutputFilter directive either doesn't work in blocks, or =
is quite unpredictable in that context. I sent a test configuration in a =
previous email but recieved no response, so I've produced a simpler =
configuration and tested it on a different system, with the same =
results. Here's the configuration fragment:


ServerAdmin webmaster@insectnation.org
DocumentRoot /www/filtertest
ServerName test.insectnation.org

#SetOutputFilter a;b


Options Indexes FollowSymLinks MultiViews ExecCGI
AllowOverride None
Order allow,deny
Allow from all
DirectoryIndex index


ExtFilterDefine a mode=3Doutput intype=3Dtext/html =
outtype=3Dtext/html cmd=3D"/bin/sed -e s/foo/bar/g"
ExtFilterDefine b mode=3Doutput intype=3Dtext/html =
outtype=3Dtext/html cmd=3D"/bin/sed -e s/bing/boom/g"

SetOutputFilter a


SetOutputFilter b
#Order deny,allow
#Deny from all



The results of using this configuration are as follows:

* The sed replacements take place neither in test.insectnation.org/a =
or test.insectnation.org/b
* If the Location /b access is denied (by uncommenting the Order and =
Deny statements), this is correctly reflected in the browser behaviour
* If the SetOutputFilter at VirtualHost level (i.e not in any =
Location blocks) is uncommented, the sed replacements both take place as =
expected

So, the problem is not the Location matching because the access denial =
works as expected: there seems to be some problem specifically with =
SetOutputFilter used on a Location basis. This is observed using Apache
2.0.55 as packaged in Ubuntu Dapper:

andy@dirac:~$ apache2 -v
Server version: Apache/2.0.55
Server built: May 29 2006 01:52:53

I've also observed the same behaviour in Scientific Linux 4.x. Can =
anyone offer any suggestions / try this config for themselves and =
comment. If it's a genuine problem then it should be reported as a bug, =
but I'm not aware of any independent confirmations. Some assistance, =
please?

Thanks!
Andy


------------------------------------------------------------ ---------
The official User-To-User support forum of the Apache HTTP Server =
Project.
See for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
" from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


------------------------------------------------------------ ---------
The official User-To-User support forum of the Apache HTTP Server Project.
See for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
" from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org