You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by co...@apache.org on 2019/08/02 01:31:28 UTC

svn commit: r1864192 - in /httpd/httpd/trunk: CHANGES docs/manual/mod/core.xml server/util_pcre.c

Author: covener
Date: Fri Aug  2 01:31:28 2019
New Revision: 1864192

URL: http://svn.apache.org/viewvc?rev=1864192&view=rev
Log:
set PCRE_DOTALL by default

Submitted by ylavic


Modified:
    httpd/httpd/trunk/CHANGES
    httpd/httpd/trunk/docs/manual/mod/core.xml
    httpd/httpd/trunk/server/util_pcre.c

Modified: httpd/httpd/trunk/CHANGES
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/CHANGES?rev=1864192&r1=1864191&r2=1864192&view=diff
==============================================================================
--- httpd/httpd/trunk/CHANGES [utf-8] (original)
+++ httpd/httpd/trunk/CHANGES [utf-8] Fri Aug  2 01:31:28 2019
@@ -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

Modified: httpd/httpd/trunk/docs/manual/mod/core.xml
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/docs/manual/mod/core.xml?rev=1864192&r1=1864191&r2=1864192&view=diff
==============================================================================
--- httpd/httpd/trunk/docs/manual/mod/core.xml (original)
+++ httpd/httpd/trunk/docs/manual/mod/core.xml Fri Aug  2 01:31:28 2019
@@ -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>

Modified: httpd/httpd/trunk/server/util_pcre.c
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/server/util_pcre.c?rev=1864192&r1=1864191&r2=1864192&view=diff
==============================================================================
--- httpd/httpd/trunk/server/util_pcre.c (original)
+++ httpd/httpd/trunk/server/util_pcre.c Fri Aug  2 01:31:28 2019
@@ -157,7 +157,8 @@ AP_DECLARE(void) ap_regfree(ap_regex_t *
  *            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)
 {