httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "William A. Rowe, Jr." <>
Subject Re: 2.0.x
Date Thu, 13 Jul 2006 23:46:25 GMT
Nick Kew wrote:
> I had in mind to fix this tonight.  But it's too complex to get right
> late at night after a long day and a couple of glasses of wine.
> A look at it suggests we have a bug in ap_directory_walk
> affecting all versions.  The "cached dir walk" optimisation at
> lines 555-583 (Trunk) is losing the symlink check.
> The quickest fix would be to scrap the optimisation altogether.
> Otherwise, we need to run the extra checks at lines ~942-1014
> at that point.

Scrapping the optimization is a red herring.

The optimization logic -should- be noting where the original pass varies
from the current pass through merging, and then taking a left turn to then
construct fresh merges of previously-unmerged sections.

I suspect there 1) might be an overly agressive shortcut out of the merge
checking, and 2) that r->filename might not be updated early enough by
mod_dir to catch index.html.  If r->filename is still /foo/bar/ and not
/foo/bar/index.html then the entire dir_walk assumption is a red herring.

I am spending cycles tonight looking at this, and am likely to add some
diagnostics that add some insight to what dir_walk actually walks and even
what it merges, for the benefit of users diagnosing their config.


View raw message