Commit 37be7cdf authored by Stefan Eissing's avatar Stefan Eissing
Browse files

merged backport proposed trunk changes re HTTP/2

parents f8c68219 9f13ceb2
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -7,6 +7,19 @@ Changes with Apache 2.4.18
     [Yann Ylavic, Stefan Eissing]
     

  *) core: Fix scoreboard crash (SIGBUS) on hardware requiring strict 64bit
     alignment (SPARC64, PPC64).  [Yann Ylavic]

  *) mod_cache: Accept HT (Horizontal Tab) when parsing cache related header
     fields as described in RFC7230. [Christophe Jaillet]

  *) core/util_script: making REDIRECT_URL a full URL is now opt-in
     via new 'QualifyRedirectURL' directive.

  *) mod_ssl: Extend expression parser registration to support ssl variables
     in any expression using mod_rewrite syntax "%{SSL:VARNAME}" or function
     syntax "ssl(VARNAME)". [Rainer Jung]

Changes with Apache 2.4.17

  *) mod_http2: added donated HTTP/2 implementation via core module. Similar
+49 −41
Original line number Diff line number Diff line
@@ -112,36 +112,10 @@ PATCHES ACCEPTED TO BACKPORT FROM TRUNK:
  [ start all new proposals below, under PATCHES PROPOSED. ]



PATCHES PROPOSED TO BACKPORT FROM TRUNK:
  [ New proposals should be added at the end of the list ]

   * mod_journald: Add new module mod_journald to log error logs into journald.
                   This patch needs changes done in mod_systemd patch (already
                   proposed for 2.4.x).
     trunk patch: http://svn.apache.org/r1610339
                  http://svn.apache.org/r1621806
     2.4.x patch: http://people.apache.org/~jkaluza/patches/httpd-2.4.x-mod_journald.patch
     +1: jkaluza, jim
     rjung, minfrin: Not understanding "This patch needs changes done in
                     mod_systemd patch", am I right in understanding this patch is
                     already committed?
     jkaluza: No, that patch is not committed yet. It is in STALLED section.
              The link for that patch is: http://people.apache.org/~jkaluza/patches/mod_systemd/httpd-2.4.x-mod_systemd.patch

  *) http: Don't remove the Content-Length of zero from a HEAD response if
     it comes from an origin server, module or script. Allow the previous
     behaviour (for legacy/buggy modules only, not origin) by also backporting
     the HttpContentLengthHeadZero directive (and also HttpExpectStrict which
     comes for free with the same commit).
     trunk patch: http://svn.apache.org/r1554303
                  http://svn.apache.org/r1678215
     2.4.x patch: http://people.apache.org/~ylavic/httpd-2.4.x-preserve_head_cl_zero.patch
     +1: ylavic, jim
     ylavic: r1554303 issued a major MMN bump, but since the ABI change is two
             ints added at the end of core_server_config, the proposed merge
             does a minor bump only.
     minfrin: Two new directives need to be documented.

  *) mod_alias: Introduce expression parser support for Alias, ScriptAlias
     and Redirect. Limit Redirect expressions to directory (Location) context
     and redirect statuses (implicit or explicit).
@@ -166,24 +140,45 @@ PATCHES PROPOSED TO BACKPORT FROM TRUNK:
     2.4.x patch: http://people.apache.org/~ylavic/httpd-2.4.x-mod_ssl-deferred_friendly-v3.patch
     +1: ylavic

   * mod_ssl: Extend expression parser registration to support ssl variables
     in any expression using mod_rewrite syntax "%{SSL:VARNAME}" or function
     syntax "ssl(VARIABLE)".
     trunk patch: http://svn.apache.org/r1707002
     2.4.x patch: trunk works (modulo CHANGES)
     +1: rjung, ylavic
     minfrin: Tiny nit: http://svn.apache.org/r1709596

   * httpd.conf.in: Remove commented config regarding DNT because the spec
     now has CR status (confirming our interpretation) and MS has committed
     to changing their implementation.  PR 53845
     trunk patch: http://svn.apache.org/r1707831
     2.4.x patch: http://people.apache.org/~minfrin/httpd-dnt-2.4.patch
     +1: fielding
   * core: Fix crash in ap_mpm_pod_check call caused by NULL dereference of
          its parameter when starting httpd as single process (httpd -X).
     trunk patch: http://svn.apache.org/r1711479
     2.4.x patch: trunk works
     +1: jkaluza, jim
     minfrin: Needs extra parens to suppress a warning:
              prefork.c:1319:16: note: place parentheses around the assignment
              to silence this warning
     jailletc36: This has been done in r1711919
     ylavic: Also, I don't think the changes on worker/event are needed,
             prefork only requires the accept mutex in ONE_PROCESS mode.

  *) core: Limit to ten the number of tolerated empty lines between request,
     and consume them before the pipelining check to avoid possible response
     delay when reading the next request without flushing.
     trunk patch: http://svn.apache.org/r1710095
                  http://svn.apache.org/r1710105
                  http://svn.apache.org/r1711902
     2.4.x patch: http://people.apache.org/~ylavic/httpd-2.4.x-check_pipeline_blank_lines.patch
                  (trunk works, meant to ease review)
     +1: ylavic, minfrin


PATCHES/ISSUES THAT ARE BEING WORKED

  *) http: Don't remove the Content-Length of zero from a HEAD response if
     it comes from an origin server, module or script. Allow the previous
     behaviour (for legacy/buggy modules only, not origin) by also backporting
     the HttpContentLengthHeadZero directive (and also HttpExpectStrict which
     comes for free with the same commit).
     trunk patch: http://svn.apache.org/r1554303
                  http://svn.apache.org/r1678215
     2.4.x patch: http://people.apache.org/~ylavic/httpd-2.4.x-preserve_head_cl_zero.patch
     +1: ylavic, jim
     ylavic: r1554303 issued a major MMN bump, but since the ABI change is two
             ints added at the end of core_server_config, the proposed merge
             does a minor bump only.
     minfrin: Two new directives need to be documented.

   * mod_proxy_http: Don't establish or reuse a backend connection before pre-
     fetching the request body, so to minimize the delay between it is supposed
     to be alive and the first bytes sent: this is a best effort to prevent the
@@ -263,6 +258,19 @@ PATCHES/ISSUES THAT ARE STALLED
     2.4.x patch: http://people.apache.org/~jkaluza/patches/mod_systemd/httpd-2.4.x-mod_systemd.patch
     +1: jkaluza

   * mod_journald: Add new module mod_journald to log error logs into journald.
                   This patch needs changes done in mod_systemd patch (already
                   proposed for 2.4.x).
     trunk patch: http://svn.apache.org/r1610339
                  http://svn.apache.org/r1621806
     2.4.x patch: http://people.apache.org/~jkaluza/patches/httpd-2.4.x-mod_journald.patch
     +1: jkaluza, jim
     rjung, minfrin: Not understanding "This patch needs changes done in
                     mod_systemd patch", am I right in understanding this patch is
                     already committed?
     jkaluza: No, that patch is not committed yet. It is in STALLED section.
              The link for that patch is: http://people.apache.org/~jkaluza/patches/mod_systemd/httpd-2.4.x-mod_systemd.patch

   * core: Add support for systemd socket activation.
     trunk patch: http://svn.apache.org/r1511033
                  http://svn.apache.org/r1608686
+0 −11
Original line number Diff line number Diff line
@@ -406,15 +406,4 @@ Include @rel_sysconfdir@/extra/proxy-html.conf
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>
#
# uncomment out the below to deal with user agents that deliberately
# violate open standards by misusing DNT (DNT *must* be a specific
# end-user choice)
#
#<IfModule setenvif_module>
#BrowserMatch "MSIE 10.0;" bad_DNT
#</IfModule>
#<IfModule headers_module>
#RequestHeader unset DNT env=bad_DNT
#</IfModule>
+17 −0
Original line number Diff line number Diff line
@@ -102,6 +102,7 @@ Servers</td></tr>
<li><img alt="" src="../images/down.gif" /> <a href="#protocol">Protocol</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#protocols">Protocols</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#protocolshonororder">ProtocolsHonorOrder</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#qualifyredirecturl">QualifyRedirectURL</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#rlimitcpu">RLimitCPU</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#rlimitmem">RLimitMEM</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#rlimitnproc">RLimitNPROC</a></li>
@@ -2762,6 +2763,22 @@ On Windows, from Apache 2.3.3 and later.</td></tr>
</ul>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="QualifyRedirectURL" id="QualifyRedirectURL">QualifyRedirectURL</a>-<a name="qualifyredirecturl" id="qualifyredirecturl">Direktive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Controls whether the REDIRECT_URL environent variable is 
             fully qualified</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>QualifyRedirectURL ON|OFF</code></td></tr>
<tr><th><a href="directive-dict.html#Default">Voreinstellung:</a></th><td><code>QualifyRedirectURL OFF</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Kontext:</a></th><td>Serverkonfiguration, Virtual Host, Verzeichnis</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Modul:</a></th><td>core</td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Kompatibilitt:</a></th><td>Directive supported in 2.4.18 and later. 2.4.17 acted
as if 'QualifyRedirectURL ON' was configured.</td></tr>
</table><p>Die Dokumentation zu dieser Direktive wurde
            noch nicht bersetzt. Bitte schauen Sie in die englische
            Version.</p></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="RLimitCPU" id="RLimitCPU">RLimitCPU</a>-<a name="rlimitcpu" id="rlimitcpu">Direktive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Beschreibung:</a></th><td>Begrenzt den CPU-Verbrauch von Prozessen, die von
+25 −0
Original line number Diff line number Diff line
@@ -99,6 +99,7 @@ available</td></tr>
<li><img alt="" src="../images/down.gif" /> <a href="#protocol">Protocol</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#protocols">Protocols</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#protocolshonororder">ProtocolsHonorOrder</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#qualifyredirecturl">QualifyRedirectURL</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#rlimitcpu">RLimitCPU</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#rlimitmem">RLimitMEM</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#rlimitnproc">RLimitNPROC</a></li>
@@ -3663,6 +3664,30 @@ On Windows, from Apache 2.3.3 and later.</td></tr>
<ul>
<li><code class="directive"><a href="#protocols">Protocols</a></code></li>
</ul>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="QualifyRedirectURL" id="QualifyRedirectURL">QualifyRedirectURL</a> <a name="qualifyredirecturl" id="qualifyredirecturl">Directive</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Controls whether the REDIRECT_URL environent variable is 
             fully qualified</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntax:</a></th><td><code>QualifyRedirectURL ON|OFF</code></td></tr>
<tr><th><a href="directive-dict.html#Default">Default:</a></th><td><code>QualifyRedirectURL OFF</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Context:</a></th><td>server config, virtual host, directory</td></tr>
<tr><th><a href="directive-dict.html#Override">Override:</a></th><td>FileInfo</td></tr>
<tr><th><a href="directive-dict.html#Status">Status:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
<tr><th><a href="directive-dict.html#Compatibility">Compatibility:</a></th><td>Directive supported in 2.4.18 and later. 2.4.17 acted
as if 'QualifyRedirectURL ON' was configured.</td></tr>
</table>
    <p>This directive controls whether the server will ensure that the 
    REDIRECT_URL environment variable is fully qualified.  By default, 
    the variable contains the verbatim URL requested by the client, 
    such as "/index.html".  With <code class="directive"><a href="#qualifyredirecturl on">QualifyRedirectURL ON</a></code>, the same request would result in a
    value such as "http://www.example.com/index.html".</p>
    <p>Even without this directive set, when a request is issued against a 
    fully qualified URL, REDIRECT_URL will remain fully qualified.
    </p>

</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="RLimitCPU" id="RLimitCPU">RLimitCPU</a> <a name="rlimitcpu" id="rlimitcpu">Directive</a></h2>
Loading