You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by Christian Gilmore <Ch...@tivoli.com> on 2000/07/07 21:37:57 UTC

More on the set_handlers() / push_handlers() bug...

Hello, again.

Here's a quick summary of the problem: upon clearing the stack of handlers
(with set_handlers(PerlAuthzHandlers => undef)) the server appears to not
recognize when it has found a DirectoryIndex file and returns the contents
of a directory instead of the index file.

Since last writing on this topic, I upgraded to all of the newest versions
(apache-1.3.12, perl-5.6, mod_perl-1.24) and configured mod_perl with
PERL_TRACE=1. Looking at the error_log with the handler tracing on and httpd
running in single-server mode, I discovered that the server does appear to
cycle through the directory indexes, but doesn't realize when it has found
one. I've attached two error logs for the request
http://dw3.tivoli.com:81/home/passwd/group/: one with the cache enabled, one
without. I've also attached a copy of the document returned by the server
for the with-authz-cache request. The document is the auto-generated
contents of the directory. As you can see, index.phtml does exist in the
directory and is the first file searched for by the server.

Does anyone have any ideas here? Can anyone reproduce the problem? I've also
included the source for the AuthzCache and AuthzLDAP. If anyone could use at
least the Cache code and see if you could reproduce the problem, I'd really
appreciate it.

I noticed that the error log with the cache enabled shows that subsequent
internal requests (such as those you see when requesting a directory instead
of a named file) don't reset the handler stack to what is in the
configuration. See about line 65 of each log file for this difference.

Regards,
Christian

-----------------
Christian Gilmore
Infrastructure & Tools Team Lead
Web & Multimedia Development
Tivoli Systems, Inc.