[users@httpd] SetOutputFilter doesn't work in <Location>s?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



 
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
<VirtualHost *: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=output intype=text/html outtype=text/html cmd="/bin/sed -e s/foo/bar/g"
   ExtFilterDefine b mode=output intype=text/html outtype=text/html cmd="/bin/sed -e s/bing/boom/g"

   <Location /test>
       Header set Cache-Control no-cache
       SetOutputFilter a
   </Location>
</VirtualHost>

-ascs


-----Original Message-----
From: Andy Buckley [mailto:andy.buckley@xxxxxxxxxxxx]
Sent: Thursday, June 29, 2006 3:10 PM
To: users@xxxxxxxxxxxxxxxx
Subject: [users@httpd] SetOutputFilter doesn't work in <Location>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-<Location> basis. As far as I can tell, the SetOutputFilter directive either doesn't work in <Location> 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:

<VirtualHost 80.68.95.15:80>
     ServerAdmin webmaster@xxxxxxxxxxxxxxxx
     DocumentRoot /www/filtertest
     ServerName test.insectnation.org

     #SetOutputFilter a;b

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

     ExtFilterDefine a mode=output intype=text/html outtype=text/html cmd="/bin/sed -e s/foo/bar/g"
     ExtFilterDefine b mode=output intype=text/html outtype=text/html cmd="/bin/sed -e s/bing/boom/g"
     <Location /a>
         SetOutputFilter a
     </Location>
     <Location /b>
         SetOutputFilter b
         #Order deny,allow
         #Deny from all
     </Location>
</VirtualHost>

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 <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxxxxxxx
   "   from the digest: users-digest-unsubscribe@xxxxxxxxxxxxxxxx
For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx


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



[Index of Archives]     [Open SSH Users]     [Linux ACPI]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Squid]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux