Geoffrey Young wrote:
one thing I noticed is that if ServerRoot is not specified in httpd.conf then Apache-Test can't resolve relative Include directives (such as conf/ssl.conf), so they need to be postponed until later in order to be picked up as they would if ServerRoot were specified.

Your patch works fine in my config here, but I do forsee one possible issue -- although this is a VERY UNLIKELY problem:


<IfModule mod_foo.c>
Include conf/foo.conf
</IfModule>

If I read your patch right, it would turn that into:

<IfModule mod_foo.c>
</IfModule>
[rest of httpd.conf]
[Contents of conf/foo.conf inserted here]

Obviously, Apache-Test is only really interested in a couple directives from the user's config file, so the chances of that reordering (and removal of code from the conditional block) causing problems is very small.

As a bit of a side note: Apache 1.3.28 does it the simple way:

1) set "ap_server_root" to HTTPD_ROOT (http_main.c: 5396)
2) set "ap_server_root" to "-d VAL", if present (http_main.c: 5422)
3) set "ap_server_root" using ServerRoot directive (via normal module initalization stuff)


Whichever one is hit last is used, since it's a single global value.

So it seems like setting things up in that order within Apache-Test would be reasonable. But I agree with Stas that having a record of WHICH ServerRoot value is being used is a good thing and would surely ease some confusion in edge cases like mine.

--
Mike Cramer
http://www.webkist.com/ | AIM: MikeWebkist



Reply via email to