[PATCH] lib-httpd/apache.conf: check version only after mod_version loads
- From
Jeff King <peff@peff.net>
- Date
- Jun 21, 2013, 18:12 UTC
- Message-ID
- <20130621181250.GA5290@sigill.intra.peff.net>
- In-Reply-To
- <1B9251F9-C1AF-41F7-8BF8-D36DDB27EF09@gernhardtsoftware.com>
On Fri, Jun 21, 2013 at 02:08:49PM -0400, Brian Gernhardt wrote:
Show 10 quoted lines
> On Jun 21, 2013, at 2:03 PM, Jeff King <peff@peff.net> wrote: > > > IfVersion comes from mod_version. I assume that if it were not > > loaded, apache would complain about the directive entirely. But it's > > true that we don't load it until later. Maybe try moving the > > IfVersion/Lockfile stanza down below the mod_version LoadModule > > line? > > Apache is apparently overly accepting. Moving the IfVersion below all > the IfModules fixes it.
Cool. I think the patch should look like the one below, then.
Just to double-check that I have explained the issue correctly, can you share the output of "apache2 -l"? Mine has:
$ apache2 -l
Compiled in modules:
core.c
mod_log_config.c
mod_logio.c
mod_version.c
prefork.c
http_core.c
mod_so.cwhich explains why it works here. I'm assuming you will not have mod_version.c compiled in.
-- >8 -- Subject: lib-httpd/apache.conf: check version only after mod_version loads
Commit 0442743 introduced an <IfVersion> directive near the top of the apache config file. However, at that point we have not yet checked for and loaded the mod_version module. This means that the directive will behave oddly if mod_version is dynamically loaded, failing to match when it should.
We can fix this by moving the whole block below the LoadModule directive for mod_version.
Reported-by: Brian Gernhardt <brian@gernhardtsoftware.com> Signed-off-by: Jeff King <peff@peff.net> --- t/lib-httpd/apache.conf | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/t/lib-httpd/apache.conf b/t/lib-httpd/apache.conf index 56ae548..dd17e3a 100644 --- a/t/lib-httpd/apache.conf +++ b/t/lib-httpd/apache.conf @@ -1,7 +1,4 @@ ServerName dummy ServerName dummy -<IfVersion < 2.4> -LockFile accept.lock -</IfVersion> PidFile httpd.pid DocumentRoot www LogFormat "%h %l %u %t \"%r\" %>s %b" common @@ -26,6 +23,10 @@ ErrorLog error.log LoadModule version_module modules/mod_version.so </IfModule> +<IfVersion < 2.4> +LockFile accept.lock +</IfVersion> + <IfVersion < 2.1> <IfModule !mod_auth.c> LoadModule auth_module modules/mod_auth.so
-- 1.8.3.rc2.14.g7eee6b3