Matthew Hodgson wrote:
Hi all,

I just upgraded from Apache 1.27/mod_perl 1.27 to Apache 1.28/mod_perl
1.28 and am noticing some weird behaviour on Apache::Registry scripts -
executing a Registry script ( /webroot/www.domain.com/perl/test.pl ) by
calling a URL such as:

http://www.domain.com/perl/test.pl/movies/image/1234

pops up a message in the error log that:

[Wed Oct 1 14:13:01 2003] [error] [client 217.207.98.119] (13)Permission
denied: access to /movies/images/1234 failed because search permissions
are missing on a component of the path

The script itself seems to run correctly - test.pl is a completely simple
dummy which just prints headers and exits.

Now, /webroot/www.domain.com/movies/ exists, deliberately has permissions
0700 and is owned by root - but why is Apache or Apache::Registry trying
to stat that path at all

it's apache that is doing that stat call, and it's doing it because your URL has extra path information in it, and that extra path information happens to coincide with an existing directory structure.


see httpd_request.c in the apache sources and look for get_path_info.

- and how do I stop it or stop the error
messages?

any help would be gratefully received;

reconstruct your URL to test.pl?movies/image/1234 and use $r->args, or use test.pl?/moviefoo/image/1234 and substitute 'movie' for 'moviefoo' in $r->path_info before you use it in your script.


HTH

--Geoff



Reply via email to