[hmm, I've sent here by mistake, planned to fire it to httpd, but since Ian has kindly replied let's resolve it here already. I've CC'ed Andre as well]

Ian Holsman wrote:
Stas Bekman wrote:

In one of the tests I've a dynamic response handler whose output is going through INCLUDES, which triggers a sub-request to the same dynamic response handler with different ? arguments or path_info, which repeat it once more.

1) a dynamic response handler /foo sends (/one is path_info):

"one <!--#include virtual="/foo/one" -->"

2) INCLUDES calls a subrequest on /foo/one which generates

"two <!--#include virtual="/foo/two" -->"

    3) which again reaches INCLUDES and again generating a sub-request,
       this time on /foo/two

but INCLUDES detects a recursion:


There is a config setting which can increase the number of redirects allowed. as far as dynamic vs static.. mod-include doesn't know what is
underneath it. I belive the recursion is set by default at 10/20.
FWIW.. m-perl calling a m-perl subrequest via mod-include is just asking for a segfault.

What do you mean asking for a segfault? Is it non-reentrant? Why would a sub-request and its filter chain intervent with the main request and its filters?


This is exactly what I'm trying to reproduce after receiving this segfault report:
http://marc.theaimsgroup.com/?l=apache-modperl-dev&m=106894902423356&w=2
notice that it happens in the httpd land.

and dynamic handlers can get into infite loops much easier than static files and will result in the entire server crashing.

Why?


[Thu Nov 20 16:59:31 2003] [error] [client 127.0.0.1] unable to include "/foo/two" in parsed file /home/stas/apache.org/mp-inc-mp/t/htdocs/foo

First of all, there is no /home/stas/apache.org/mp-inc-mp/t/htdocs/foo, it's a virtual dynamic handler and the error is wrong. I don't think mod_include should do the detection at all if the file doesn't exist, because dynamic handler != static file.

Even in the case of static SSI file, I can see where a call to the same file may generate different outputs, and is a wanted behavior and not a recursion.

It's good to detect recursions when they loop through 100 or so self-invocations, but for one call?

__________________________________________________________________ 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


--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to