From: Philip M. Gollucci Date: Fri, 7 May 2010 20:41:38 +0000 (+0000) Subject: - Backports r942209 X-Git-Tag: 2.2.16~81 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=fe19393eca41b22158244c11de53d2b5e81f2537;p=thirdparty%2Fapache%2Fhttpd.git - Backports r942209 ix the following: $> grep -e autoindex_ -e cgi_ httpd.conf LoadModule autoindex_module libexec/apache22/mod_autoindex.so LoadModule cgi_module libexec/apache22/mod_cgi.so fire up the following commands $> apxs -e -a -n autoindex mod_autoindex.so [activating module `autoindex' in /usr/local/etc/apache22/httpd.conf] $> apxs -e -a -n cgi mod_cgi.so [activating module `cgi' in /usr/local/etc/apache22/httpd.conf] This will result into the following httpd.conf $> grep -e autoindex_ -e cgi_ httpd.conf LoadModule autoindex_module libexec/apache22/mod_autoindex.so LoadModule cgi_module libexec/apache22/mod_cgi.so LoadModule autoindex_module libexec/apache22/mod_autoindex.so LoadModule cgi_module libexec/apache22/mod_cgi.so As you notice the modules are now loaded twice Now try to deactivate for the loaded ssl module $> grep ssl_ httpd.conf LoadModule ssl_module libexec/apache22/mod_ssl.so $> apxs -e -A -n ssl mod_ssl.so [preparing module `ssl' in /usr/local/etc/apache22/httpd.conf] $> grep ssl_ httpd.conf LoadModule ssl_module libexec/apache22/mod_ssl.so #LoadModule ssl_module libexec/apache22/mod_ssl.so As reported in FreeBSD ports PR: http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/133704 Previously discussed with: wrowe@ This b/c '$lmd' expects the amount of space to be a fixed amount. Use \s+ to make any valid httpd.conf syntax work (i.e. at least 1 space) As previously discussed with wrowe, treast this the same way roy treats mime.types. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.2.x@942210 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/CHANGES b/CHANGES index 419b9379d68..4e8cf710915 100644 --- a/CHANGES +++ b/CHANGES @@ -2,6 +2,8 @@ Changes with Apache 2.2.16 + *) apxs: Fix -A and -a options to ignore whitespace in httpd.conf + [Philip M. Gollucci] Changes with Apache 2.2.15 diff --git a/support/apxs.in b/support/apxs.in index 1dcc82ede46..adf4efd6a1c 100644 --- a/support/apxs.in +++ b/support/apxs.in @@ -547,7 +547,10 @@ if ($opt_i or $opt_e) { $c = '#' if ($opt_A); foreach $lmd (@lmd) { my $what = $opt_A ? "preparing" : "activating"; - if ($content !~ m|\n#?\s*$lmd|) { + my $lmd_re = $lmd; + $lmd_re =~ s/\s+/\\s+/g; + + if ($content !~ m|\n#?\s*$lmd_re|) { # check for open , so that the new LoadModule # directive always appears *outside* of an . @@ -610,7 +613,7 @@ if ($opt_i or $opt_e) { } } else { # replace already existing LoadModule line - $content =~ s|^(.*\n)#?\s*$lmd[^\n]*\n|$1$c$lmd\n|s; + $content =~ s|^(.*\n)#?\s*$lmd_re[^\n]*\n|$1$c$lmd\n|s; } $lmd =~ m|LoadModule\s+(.+?)_module.*|; notice("[$what module `$1' in $CFG_SYSCONFDIR/$CFG_TARGET.conf]");