diff options
author | Eric Covener <covener@apache.org> | 2019-08-02 03:31:28 +0200 |
---|---|---|
committer | Eric Covener <covener@apache.org> | 2019-08-02 03:31:28 +0200 |
commit | 905b4af030203d0e0240356c75671c19e2f692d6 (patch) | |
tree | 8ef5334a669e78351f4a071e4b38d9319b539a08 | |
parent | remove request details from error documents (CVE-2019-10092). (diff) | |
download | apache2-905b4af030203d0e0240356c75671c19e2f692d6.tar.xz apache2-905b4af030203d0e0240356c75671c19e2f692d6.zip |
set PCRE_DOTALL by default
Submitted by ylavic
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1864192 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r-- | CHANGES | 3 | ||||
-rw-r--r-- | docs/manual/mod/core.xml | 20 | ||||
-rw-r--r-- | server/util_pcre.c | 3 |
3 files changed, 16 insertions, 10 deletions
@@ -1,6 +1,9 @@ -*- coding: utf-8 -*- Changes with Apache 2.5.1 + *) core, mod_rewrite: Set PCRE_DOTALL by default. Revert via + RegexDefaultOptions -DOTALL [Yann Ylavic] + *) core: Remove request details from built-in error documents [Eric Covener] *) mod_http2: core setting "LimitRequestFieldSize" is not additionally checked on diff --git a/docs/manual/mod/core.xml b/docs/manual/mod/core.xml index ac428dfe4b..49f06b3de2 100644 --- a/docs/manual/mod/core.xml +++ b/docs/manual/mod/core.xml @@ -4189,7 +4189,7 @@ Protocols h2 http/1.1 <name>RegexDefaultOptions</name> <description>Allow to configure global/default options for regexes</description> <syntax>RegexDefaultOptions [none] [+|-]<var>option</var> [[+|-]<var>option</var>] ...</syntax> - <default>RegexDefaultOptions DOLLAR_ENDONLY</default> + <default>RegexDefaultOptions DOTALL DOLLAR_ENDONLY</default> <contextlist><context>server config</context></contextlist> <compatibility>Only available from Apache 2.4.30 and later.</compatibility> @@ -4208,24 +4208,26 @@ Protocols h2 http/1.1 <dt><code>ICASE</code></dt> <dd>Use a case-insensitive match.</dd> + <dt><code>EXTENDED</code></dt> + <dd>Perl's /x flag, ignore (unescaped-)spaces and comments in the pattern.</dd> + <dt><code>DOTALL</code></dt> - <dd>Perl's /s flag.</dd> + <dd>Perl's /s flag, '.' matches newline characters.</dd> <dt><code>DOLLAR_ENDONLY</code></dt> <dd>'$' matches at end of subject string only.</dd> - <dd>.</dd> </dl> <highlight language="config"> -# -RegexDefaultOptions +ICASE +DOLLAR_ENDONLY +# Add the ICASE option for all regexes by default +RegexDefaultOptions +ICASE ... -# Remove the ICASE option, but keep all the other already set options -RegexDefaultOptions -ICASE +# Remove the default DOLLAR_ENDONLY option, but keep any other one +RegexDefaultOptions -DOLLAR_ENDONLY ... -# Set the default option to DOTALL, resetting any other option +# Set the DOTALL option only, resetting any other one RegexDefaultOptions DOTALL ... -# Reset all defined option +# Reset all defined options RegexDefaultOptions none ... </highlight> diff --git a/server/util_pcre.c b/server/util_pcre.c index 8254cc4d63..b7c1e041ee 100644 --- a/server/util_pcre.c +++ b/server/util_pcre.c @@ -157,7 +157,8 @@ AP_DECLARE(void) ap_regfree(ap_regex_t *preg) * Compile a regular expression * *************************************************/ -static int default_cflags = AP_REG_DOLLAR_ENDONLY; +static int default_cflags = AP_REG_DOTALL | + AP_REG_DOLLAR_ENDONLY; AP_DECLARE(int) ap_regcomp_get_default_cflags(void) { |