| APACHE 2.4 STATUS: -*- mode: text; coding: utf-8 -*- |
| Last modified at [$Date$] |
| |
| The current version of this file can be found at: |
| |
| * http://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x/STATUS |
| |
| Documentation status is maintained separately and can be found at: |
| |
| * docs/STATUS in this source tree, or |
| * http://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x/docs/STATUS |
| |
| The current development branch of this software can be found at: |
| |
| * http://svn.apache.org/repos/asf/httpd/httpd/trunk |
| |
| Consult the following STATUS files for information on related projects: |
| |
| * http://svn.apache.org/repos/asf/apr/apr/trunk/STATUS |
| * http://svn.apache.org/repos/asf/apr/apr/branches/1.4.x/STATUS |
| * http://svn.apache.org/repos/asf/apr/apr-util/branches/1.4.x/STATUS |
| * http://svn.apache.org/repos/asf/apr/apr/branches/1.5.x/STATUS |
| * http://svn.apache.org/repos/asf/apr/apr-util/branches/1.5.x/STATUS |
| |
| Patches considered for backport are noted in their branches' STATUS: |
| |
| * http://svn.apache.org/repos/asf/httpd/httpd/branches/2.0.x/STATUS |
| * http://svn.apache.org/repos/asf/httpd/httpd/branches/2.2.x/STATUS |
| * http://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x/STATUS |
| |
| |
| |
| Release history: |
| [NOTE that x.{odd}.z versions are strictly Alpha/Beta releases, |
| while x.{even}.z versions are Stable/GA releases.] |
| |
| 2.4.25 : Tagged on December 16, 2016. |
| 2.4.24 : Tagged on December 16, 2016, not released. |
| 2.4.23 : Tagged on June 30, 2016. Released on July 05, 2016. |
| 2.4.22 : Tagged on June 20, 2016, not released. |
| 2.4.21 : Tagged on June 16, 2016, not released. |
| 2.4.20 : Tagged on April 4, 2016. Released on April 11, 2016. |
| 2.4.19 : Tagged on March 21, 2016, not released. |
| 2.4.18 : Tagged on December 8, 2015. Released on December 14, 2015. |
| 2.4.17 : Tagged on October 9, 2015. Released October 13, 2015. |
| 2.4.16 : Tagged on July 9, 2015. Released July 15, 2015 |
| 2.4.15 : Tagged on June 19, 2015. Not released. |
| 2.4.14 : Tagged on June 11, 2015. Not released. |
| 2.4.13 : Tagged on June 4, 2015. Not released. |
| 2.4.12 : Tagged on January 22, 2015. Released Jan 29, 2015 |
| 2.4.11 : Tagged on January 15, 2015. Not released. |
| 2.4.10 : Tagged on July 15, 2014. Released July 21, 2014 |
| 2.4.9 : Tagged on March 13, 2014. Released on March 17, 2014 |
| 2.4.8 : Tagged on March 11, 2014. Not released. |
| 2.4.7 : Tagged on November 19, 2013. Released on Nov 25, 2013 |
| 2.4.6 : Tagged on July 15, 2013. Released July, 22, 2013 |
| 2.4.5 : Tagged on July 11, 2013, not released. |
| 2.4.4 : Tagged on February 18, 2013. Released Feb 25, 2013 |
| 2.4.3 : Tagged on August 17, 2012. Released Aug 18, 2012 |
| 2.4.2 : Tagged on April 5, 2012. Released Apr 17, 2012. |
| 2.4.1 : Tagged on February 13, 2012. Released Feb 21, 2012. |
| 2.4.0 : Tagged on January 16, 2012, not released. |
| 2.3.16 : Tagged on December 15, 2011. |
| 2.3.15 : Tagged on November 8, 2011. Released Nov. 15, 2011. |
| 2.3.14 : Tagged on August 1, 2011. Released Aug. 9, 2011. |
| 2.3.13 : Tagged on June 28, 2011, not released. |
| 2.3.12 : Tagged on May 11, 2011. Released May 23, 2011. |
| 2.3.11 : Released as Beta on March 7, 2011. |
| 2.3.10 : Tagged on December 13, 2010. Released Dec 21, 2010. |
| 2.3.9 : Tagged on November 23, 2010, not released. |
| 2.3.8 : Tagged on August 24, 2010. |
| 2.3.7 : Tagged on August 19, 2010, not released. |
| 2.3.6 : Released on June 21, 2010. |
| 2.3.5 : Released on January 26, 2010. |
| 2.3.4 : Released on December 8, 2009. |
| 2.3.3 : Tagged on November 11, 2009, not released. |
| 2.3.2 : Tagged on March 23, 2009, not released. |
| 2.3.1 : Tagged on January 2, 2009, not released. |
| 2.3.0 : Tagged on December 6, 2008, not released. |
| |
| Contributors looking for a mission: |
| |
| * Just do an egrep on "TODO" or "XXX" in the source. |
| |
| * Review the bug database at: http://issues.apache.org/bugzilla/ |
| |
| * Review the "PatchAvailable" bugs in the bug database: |
| |
| https://issues.apache.org/bugzilla/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&product=Apache+httpd-2&keywords=PatchAvailable |
| |
| After testing, you can append a comment saying "Reviewed and tested". |
| |
| * Open bugs in the bug database. |
| |
| * See also the STATUS file in the docs/ directory, which lists documentation-specific TODO items. |
| |
| |
| CURRENT RELEASE NOTES: |
| |
| * Forward binary compatibility is expected of Apache 2.4.x releases, such |
| that no MMN major number changes will occur after 2.4.1. Such changes can |
| only be made in the trunk. |
| |
| * All commits to branches/2.4.x must be reflected in SVN trunk, |
| as well, if they apply. Logical progression is commit to trunk |
| then merge into branches/2.4.x, as applicable. |
| |
| * Current exceptions for RTC for this branch: |
| . http/2 - mod_http2 |
| . mod_lua |
| . documentation |
| . non-Unix build |
| . non-Unix, single-platform code |
| |
| RELEASE SHOWSTOPPERS: |
| |
| |
| 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_proxy, mod_ssl: Handle SSLProxy* directives in <Proxy> sections, |
| allowing per backend TLS configuration. |
| trunk patch: http://svn.apache.org/r1740928 |
| http://svn.apache.org/r1740960 |
| http://svn.apache.org/r1740967 |
| http://svn.apache.org/r1740987 |
| http://svn.apache.org/r1740998 |
| http://svn.apache.org/r1742697 |
| http://svn.apache.org/r1756976 |
| 2.4.x patch: http://home.apache.org/~ylavic/patches/httpd-2.4.x-r1740928_and_co.patch |
| +1: ylavic |
| |
| *) event: close a race condition where we might re-enable listeners while they |
| are already or about to be closed. |
| trunk patch: http://svn.apache.org/r1774541 |
| 2.4.x patch: trunk works |
| +1: ylavic, jim |
| |
| |
| PATCHES/ISSUES THAT ARE BEING WORKED |
| [ New entried should be added at the START of the list ] |
| |
| *) mod_ssl: Return 502 instead of 500 when SSL peer check or |
| proxy_post_handshake hook fails. |
| Trunk patch: r1645529 (works) |
| 2.4.x patch which adds CHANGES: https://emptyhammock.com/media/downloads/r1645529-to-2.4.x.txt |
| +1: trawick |
| ylavic: there may be missing bits, see thread for commit r1736510. |
| |
| *) core: Drop an invalid Last-Modified header value coming |
| from a (F)CGI script instead of replacing it with Unix epoch. |
| Warn the users about Last-Modified header value replacements |
| and violations of the RFC. |
| trunk patch: http://svn.apache.org/r1748379 |
| http://svn.apache.org/r1750747 |
| http://svn.apache.org/r1750749 |
| http://svn.apache.org/r1750953 |
| http://svn.apache.org/r1751138 |
| http://svn.apache.org/r1751139 |
| http://svn.apache.org/r1751147 |
| http://svn.apache.org/r1757818 |
| 2.4.x: trunk patches work, final view: |
| http://home.apache.org/~elukey/httpd-2.4.x-core-last_modified_tz_logging.patch |
| The problem has been discussed in dev@ extensively but we did not reach a common |
| agreement about how to proceed in the long term. While we wait, I would really like |
| to introduce useful logs for the users (the starting point of this change was a users@ |
| email thread). If this is not the right way to go I will move the patch to other |
| sections of STATUS (stalled or being worked). |
| The code has been tested with a simple PHP script returning different Last-Modified |
| headers (GMT now, GMT now Europe/Paris, GMT tomorrow, GMT yesterday, PST now). |
| +1: elukey |
| |
| *) 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 |
| backend from closing because of idle or keepalive timeout in the meantime. |
| Also, handle a new "proxy-flushall" environment variable which allows to |
| flush any forwarded body data immediately. PR 56541+37920. |
| trunk patch: http://svn.apache.org/r1656259 |
| http://svn.apache.org/r1656359 (CHANGES entry) |
| 2.4.x patch: trunk works (modulo CHANGES, docs/log-message-tags) |
| +1: ylavic |
| -0: jim: This seems to be a hit to normal performance, to handle an |
| error and/or non-normal condition. The pre-fetch is |
| expensive, and is always done, even before we know that |
| the backend is available to rec' it. I understand the |
| error described, but is the fix actually worth it (plus |
| it seems to allow for a DDoS vector). |
| ylavic: It seems to me that the problem is real since we reuse the |
| connection before prefetching 16K (either controlled by the |
| client, or by an input filter), we currently always prefetch |
| these bytes already. Regarding performance I don't see any |
| difference (more cycles) compared with the current code. |
| However I think I failed to rebuild the header_brigade when |
| the proxy loop is retried (ping), so I need to rework this. |
| Do you think we'd better remove the prefetch, or maybe just |
| make it nonblocking (by default)? |
| jim: Non-blocking seems the best way to handle... |
| |
| * mod_dav: Allow other modules to become providers and add ACLs |
| to the DAV response. Requires a release of apr-util v1.6. |
| trunk patch: http://svn.apache.org/r1748322 |
| 2.4.x: trunk works modulo CHANGES/MMN |
| +1: minfrin |
| rpluem asks: Will this compile with apr-util < v1.6 and keep |
| mod_dav working (without the new features of the patch of course)? |
| I doubt that we will require apr-util 1.6 for the lifetime of 2.4.x |
| (see the discussion around ap_cstr_casecmp[n] an apr 1.6) |
| minfrin: Yes, as you can see in the patch everything applies only |
| if APR_XML_X2T_PARSED is defined, and the patch was tested with |
| both apr-util v1.6 and apr-util v1.5. |
| -1: jorton, breaks binary backwards compat per dev@ discuss |
| msgid <20160902120654.GA12674@redhat.com> |
| (& also, making the structure change with apr-util version |
| means it breaks binary compat across an apr-util upgrade?) |
| |
| * mod_auth_digest: Reduce severity from NOTICE to DEBUG this |
| once-per-restart msg (I guess the concern was that the RNG |
| could block after this message) |
| |
| AH01757: generating secret for digest authentication ... |
| |
| trunk patch: This was fixed in trunk as a trivial part of http://svn.apache.org/r1492395 |
| 2.4.x patch: Just change the loglevel to DEBUG. |
| +1 covener |
| |
| PATCHES/ISSUES THAT ARE STALLED |
| |
| * core: Add ap_errorlog_provider to make ErrorLog logging modular. This |
| backport keeps syslog logging as part of httpd core and only adds |
| API to allow other modules to be used for error logging. |
| trunk patch: http://svn.apache.org/r1525597 |
| http://svn.apache.org/r1525664 |
| http://svn.apache.org/r1525845 |
| http://svn.apache.org/r1527003 |
| http://svn.apache.org/r1527005 |
| http://svn.apache.org/r1532344 |
| http://svn.apache.org/r1539988 |
| http://svn.apache.org/r1541029 |
| http://svn.apache.org/r1543979 |
| http://svn.apache.org/r1544156 |
| http://svn.apache.org/r1626978 |
| 2.4.x patch: http://people.apache.org/~jkaluza/patches/httpd-2.4.x-errorlog_provider.patch |
| +1: jkaluza |
| +1: covener w/ doc or code to fix syntax (providername:providerarg not supported like syslog or socacheproviders, |
| needs 2 args which is not valid in ErrorLog manual) |
| trawick: nit: fix "writing" in "/* NULL if we are writing to syslog */" |
| (sorry, haven't finished reviewing completely) |
| jim: What is the status of this?? |
| |
| * mod_proxy: Add ap_proxy_define_match_worker() and use it for ProxyPassMatch |
| and ProxyMatch section to distinguish between normal workers and workers |
| with regex substitutions in the name. Implement handling of such workers |
| in ap_proxy_get_worker(). Fixes the bug when regex workers were not |
| matched and used for request. PR 43513. |
| trunk patch: http://svn.apache.org/r1609680 |
| http://svn.apache.org/r1609688 |
| http://svn.apache.org/r1641381 |
| ylavic: Merge patch provided (reusing new->real to avoid double de_socketfy() call). |
| Also added missing r1609688 to the patchset. |
| 2.4.x patch: http://people.apache.org/~ylavic/httpd-2.4.x-ap_proxy_define_match_worker.patch |
| +1: ylavic |
| -0: covener tried to review this one in Austin with Jeff. Does the added match function |
| really cover a very narrow set of parameters with the way it skips over backreferences? |
| Also, why a new API vs. just setting the field inline? |
| |
| * mod_systemd: New module, for integration with systemd on Linux. |
| trunk patch: http://svn.apache.org/r1393976 |
| http://svn.apache.org/r1393997 |
| http://svn.apache.org/r1484554 |
| http://svn.apache.org/r1528032 |
| http://svn.apache.org/r1528034 |
| http://svn.apache.org/r1614821 |
| http://svn.apache.org/r1618579 |
| http://svn.apache.org/r1618588 |
| 2.4.x patch: http://people.apache.org/~jkaluza/patches/mod_systemd/httpd-2.4.x-mod_systemd.patch |
| +1: jkaluza |
| sf comments: The IdleShutdown logic seems broken. Consider a single |
| active connection that is stalled for 10 seconds. That |
| connection will be broken after GracefulShutdownTimeout. |
| A better logic would be to check if there is any open |
| connection that is not in keep-alive state. |
| |
| * 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 |
| http://svn.apache.org/r1608694 |
| http://svn.apache.org/r1608703 |
| http://svn.apache.org/r1608721 |
| http://svn.apache.org/r1608744 |
| 2.4.x patch: http://people.apache.org/~jkaluza/patches/mod_systemd/httpd-2.4.x-socket-activation.patch |
| +1: jkaluza |
| |
| * mod_proxy: Ensure network errors detected by the proxy are returned as |
| 504 Gateway Timeout as opposed to 502 Bad Gateway |
| trunk patch: https://svn.apache.org/viewvc?view=revision&revision=1480058 |
| 2.4.x patch: trunk patch works modulo CHANGES |
| +1: |
| -1: rpluem: This change is still disputed. See |
| http://mail-archives.apache.org/mod_mbox/httpd-dev/201305.mbox/%3C1B16B9E3-87BA-4EEF-939C-7C7313B54714%40gbiv.com%3E |
| |
| * cross-compile: allow to provide CC_FOR_BUILD so that gen_test_char will be |
| compiled by the build compiler instead of the host compiler. |
| Also set CC_FOR_BUILD to 'cc' when cross-compilation is detected. |
| Trunk patches: http://svn.apache.org/viewvc?view=revision&revision=1327907 |
| http://svn.apache.org/viewvc?view=revision&revision=1328390 |
| http://svn.apache.org/viewvc?view=revision&revision=1328714 |
| 2.4 patch: http://people.apache.org/~fuankg/diffs/httpd-2.4.x-cross_compile.diff |
| fuankg: on hold until we agree for a better and more simple solution ... |
| |
| * Makefile.win: Added copying of .vbs / .wsf CGIs to Windows install target. |
| Moved fixing of shebang to separate target so that it is |
| no longer executed by default and all CGIs remain inactive. |
| trunk patch: http://svn.apache.org/viewvc?view=revision&revision=1387984 |
| http://svn.apache.org/viewvc?view=revision&revision=1421203 |
| http://svn.apache.org/viewvc?view=revision&revision=1421591 |
| 2.4.x patch: http://people.apache.org/~fuankg/diffs/httpd-2.4.x-Makefile.win.diff |
| +1 fuankg, gsmith |
| -.8: trawick |
| This commit is essentially deciding that an httpd install on |
| Windows now has printenv/testcgi written in 2 more languages. |
| To the extent that the usefulness is that it shows how to make scripts |
| of these types executable by httpd, I believe that the documentation |
| is the proper place to solve that. To the extent that the usefullness |
| is to show how to implement a CGI in these particular languages, I believe |
| that the httpd distribution and documentation in general is not the |
| place for that. Historically these types of scripts have caused problems |
| for downstream vendorsas well as newbies (and sometimes the intersection |
| of those two groups) who don't understand that these are information leaks |
| once they are enabled, and the subtlety of the way they are disabled ("Apache |
| messed up the first line; let me fix that") contributes to that. |
| fuankg notes: I've just added a big warning to all CGI scripts which should now |
| make absolutely clear that these CGIs are for testing purpose only - so those |
| who enable those scripts with inserting the right shebang should be 100% aware |
| of any risks (this should cover your last point). |
| jim: trawick, does the above address your concerns? |
| trawick: to some extent (somebody reading the script gets an idea) |
| Why isn't the configuration requirement documented instead |
| of described indirectly in a sample? |
| Why are these new samples added to the install without three |
| votes? (I didn't veto it; put your name next to the two |
| existing ones and I'll be satisfied that enough people |
| considered this addition as an appropriate solution for a |
| real httpd usability problem.) |
| wrowe: I'd agree with trawick, and suggest that these scripts can begin |
| their life somewhere in the manual/ tree. This really seems like |
| the place where /usr/share/httpd/examples/ would be useful, but |
| there isn't an ordinary directory for that. Since we want none |
| of the scripts to function 'out of the box', what about a new |
| cgi-examples/ dir alongside cgi-bin/? Otherwise manual/cgi/examples |
| might work? |
| |
| * core: block Define and Undefine in vhost and directory context. Because |
| it is EXEC_ON_READ, it "breaks out" of these contexts anyway. |
| trunk patch: http://svn.apache.org/r1656063 |
| http://svn.apache.org/r1656122 |
| 2.4.x patch: http://people.apache.org/~covener/patches/2.4.x-define-limits.diff |
| +1: covener (I need to review the docs manually in this area) |
| -1: wrowe (blocking will break "working" .conf files on a subversion update |
| meant to pick up security fixes. "Alerting" I would agree to.) |
| |
| |