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 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.5 : In development 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. RELEASE SHOWSTOPPERS: PATCHES ACCEPTED TO BACKPORT FROM TRUNK: [ start all new proposals below, under PATCHES PROPOSED. ] * core: Improve error message where client's request-line exceeds LimitRequestLine PR 54384 trunk patch: http://svn.apache.org/r1433613 2.4.x patch: trunk patch applies +1: minfrin, jim, jailletc36 PATCHES PROPOSED TO BACKPORT FROM TRUNK: [ New proposals should be added at the end of the list ] * mod_ssl: add support for subjectAltName-based host name checking in proxy mode (PR 54030) trunk patch: https://svn.apache.org/viewvc?view=revision&revision=r1425874 https://svn.apache.org/viewvc?view=revision&revision=r1426850 2.4.x patch: trunk patch works (modulo CHANGES and next-number) +1: kbrand, minfrin * mod_lua: Sync 2.4 branch with trunk. This includes (but is not limited to) Server pools, new apr functions for the request_rec table, input/ output filters, LuaCodeCache, LuaMapHandler and multipart form data handling. This is long overdue, and has become too spaghetti-ish to propose in chunks :| trunk patch: http://svn.apache.org/r1366890 http://svn.apache.org/r1367025 http://svn.apache.org/r1367040 http://svn.apache.org/r1367048 http://svn.apache.org/r1383024 http://svn.apache.org/r1383028 http://svn.apache.org/r1383037 http://svn.apache.org/r1367725 http://svn.apache.org/r1367875 http://svn.apache.org/r1368109 http://svn.apache.org/r1369656 http://svn.apache.org/r1369793 http://svn.apache.org/r1369800 http://svn.apache.org/r1370158 http://svn.apache.org/r1433967 http://svn.apache.org/r1429169 http://svn.apache.org/r1425450 http://svn.apache.org/r1425243 http://svn.apache.org/r1422552 http://svn.apache.org/r1422548 http://svn.apache.org/r1422531 http://svn.apache.org/r1422373 http://svn.apache.org/r1422072 http://svn.apache.org/r1421784 http://svn.apache.org/r1421780 (the list goes on...) 2.4.x patch: http://www.humbedooh.com/mod_lua_sync.patch (+CHANGES) +1: humbedooh, jim -1: fuankg - I think that I found some issues on NetWare which should be solved before the backport happens; I need a bit more time for testing on Windows too, and if there same issues I will asap post them to list (or turn my -1 to +1) ... * mod_auth_basic: Add a generic mechanism to fake basic authentication using the ap_expr parser. This allows the administrator to construct their own username and password for basic authentication based on their needs. Alternative fix for PR52616. trunk patch: http://svn.apache.org/r1457471 http://svn.apache.org/r1457504 http://svn.apache.org/r1462266 http://svn.apache.org/r1468581 2.4.x patch: http://people.apache.org/~minfrin/httpd-mod_auth_basic-fake4.patch +1: minfrin, jim * mod_proxy_wstunnel: Backport (copy) websocket tunnel proxy submodule trunk patch: http://svn.apache.org/viewvc?view=revision&revision=1452911 http://svn.apache.org/viewvc?view=revision&revision=1452949 http://svn.apache.org/viewvc?view=revision&revision=1452954 http://svn.apache.org/viewvc?view=revision&revision=1453022 http://svn.apache.org/viewvc?view=revision&revision=1453574 http://svn.apache.org/viewvc?view=revision&revision=1453875 http://svn.apache.org/viewvc?view=revision&revision=1453876 http://svn.apache.org/viewvc?view=revision&revision=1453963 http://svn.apache.org/viewvc?view=revision&revision=1454386 http://svn.apache.org/viewvc?view=revision&revision=1454414 http://svn.apache.org/viewvc?view=revision&revision=1454415 http://svn.apache.org/viewvc?view=revision&revision=1458285 http://svn.apache.org/viewvc?view=revision&revision=1458447 2.4.x patch: http://people.apache.org/~jim/patches/wstunnel.patch +1: jim, minfrin (with fix to mmn bump) * skiplist: Add skiplist functionality trunk patches: https://svn.apache.org/r1411190 https://svn.apache.org/r1411274 https://svn.apache.org/r1411279 https://svn.apache.org/r1411415 https://svn.apache.org/r1411424 https://svn.apache.org/r1411715 https://svn.apache.org/r1415753 https://svn.apache.org/r1451616 https://svn.apache.org/r1451617 https://svn.apache.org/r1451618 https://svn.apache.org/r1451620 https://svn.apache.org/r1451705 https://svn.apache.org/r1452774 https://svn.apache.org/r1463046 2.4.x patch: trunk patches work +1: jim * mod_dav: Make sure that when we prepare an If URL for Etag comparison, we compare unencoded paths. PR 53910 trunk patch: http://svn.apache.org/r1470940 http://svn.apache.org/r1477530 2.4.x patch: trunk patch works (minus CHANGES) +1: minfrin * mod_dav: Sending a If or If-Match header with an invalid ETag doesn't result in a 412 Precondition Failed. PR54610 trunk patch: http://svn.apache.org/r1476604 2.4.x patch: trunk patch works (minus CHANGES) +1: minfrin * mod_dav: Ensure URI is correctly uriencoded on return. PR 54611 trunk patch: http://svn.apache.org/r1476621 2.4.x patch: trunk patch works (minus CHANGES) +1: minfrin * mod_dav: PROPPATCH delete (svn propdel) silently discards errors. PR 53525 trunk patch: http://svn.apache.org/r1476627 2.4.x patch: trunk patch works (minus CHANGES) +1: minfrin * mod_dav: When a PROPPATCH attempts to remove a non-existent dead property on a resource for which there is no dead property in the same namespace httpd segfaults. PR 52559 trunk patch: http://svn.apache.org/r1476642 2.4.x patch: trunk patch works (minus CHANGES) +1: minfrin * mod_dav: Do not fail PROPPATCH when prop namespace is not known. PR 52559 trunk patch: http://svn.apache.org/r1476644 2.4.x patch: trunk patch works (minus CHANGES) +1: minfrin * mod_dav: Do not segfault on PROPFIND with a zero length DBM. PR 52559 trunk patch: http://svn.apache.org/r1476645 2.4.x patch: trunk patch works (minus CHANGES) +1: minfrin * core, mod_ssl: Lift the restriction that prevents mod_ssl taking full advantage of the event MPM. Enable the ability for a module to reverse the sense of a poll event from a read to a write or vice versa. trunk patches: http://svn.apache.org/r1470679 http://svn.apache.org/r1477094 2.4.x patch: http://people.apache.org/~minfrin/httpd-event-ssl.patch +1: minfrin, jim -0.5: sf: I would prefer if this sat in trunk for a few months first to receive more testing. * mod_dav: Improve error handling in dav_method_put(), add new dav_join_error() function. PR 54145. trunk patch: http://svn.apache.org/r1464241 2.4.x patch: http://people.apache.org/~minfrin/httpd-mod_dav-errorhandling.patch +1: minfrin * event MPM: Provide error handling for ThreadStackSize. PR 54311 trunk patch: http://svn.apache.org/r1433682 2.4.x patch: http://people.apache.org/~minfrin/httpd-event-ThreadStackSize-error.patch +1: minfrin, jailletc36 note jailletc36: see Graham's comment in: http://mail-archives.apache.org/mod_mbox/httpd-dev/201301.mbox/%3C8FBE7DC2-E5E0-4CA7-AF28-D69E9137DCE1@sharp.fm%3E * mod_cache: Invalidate cached entities in response to RFC2616 Section 13.10 Invalidation After Updates or Deletions. PR 15868 trunk patch: http://svn.apache.org/r1070179 http://svn.apache.org/r1478140 http://svn.apache.org/r1478173 http://svn.apache.org/r1478798 2.4.x patch: http://people.apache.org/~minfrin/httpd-mod_cache-invalidate7.patch +1: minfrin * mod_cache: Ignore response headers specified by no-cache=header and private=header as specified by RFC2616 14.9.1 What is Cacheable. Ensure that these headers are still processed when multiple Cache-Control headers are present in the response. PR 54706 trunk patch: http://svn.apache.org/r1478382 2.4.x patch: http://people.apache.org/~minfrin/httpd-mod_cache-nocacheheader2.4.patch +1: minfrin * mod_cache: When serving from cache, only the last header of a multivalued header was taken into account. Fixed. trunk patch: http://svn.apache.org/r1478441 2.4.x patch: trunk patch works (minus CHANGES) +1: minfrin * mod_cache: Make sure Vary processing handles multivalued Vary headers and multivalued headers referred to via Vary. trunk patch: http://svn.apache.org/r1478748 2.4.x patch: trunk patch works (minus CHANGES, on condition above backports are done first) +1: minfrin * mod_cache: Make sure that contradictory entity headers present in a 304 Not Modified response are caught and cause the entity to be removed. trunk patch: http://svn.apache.org/r1479117 2.4.x patch: http://people.apache.org/~minfrin/httpd-mod_cache-304sanity.patch2.4.patch +1: minfrin * mod_cache: RFC2616 14.9.3 The s-maxage directive also implies the semantics of the proxy-revalidate directive. trunk patch: http://svn.apache.org/r1479216 2.4.x patch: trunk patch works (minus CHANGES) +1: minfrin * mod_cache: Honour Cache-Control: no-store in a request. trunk patch: http://svn.apache.org/r1479222 2.4.x patch: http://people.apache.org/~minfrin/httpd-mod_cache-nostore2.4.patch +1: minfrin * mod_cache: Ensure that updated responses to HEAD requests don't get mistakenly paired with a previously cached body. Ensure that any existing body is removed when a HEAD request is cached. trunk patch: http://svn.apache.org/r1479411 2.4.x patch: trunk patch works (minus CHANGES) +1: minfrin * core: Add the ability to do explicit matching on weak and strong ETags as per RFC2616 Section 13.3.3. trunk patch: http://svn.apache.org/r1479528 2.4.x patch: trunk patch works (minus CHANGES, mmn bump) +1: minfrin * core, mod_cache: Ensure RFC2616 compliance in ap_meets_conditions() with weak validation combined with If-Range and Range headers. Break out explicit conditional header checks to be useable elsewhere in the server. Ensure weak validation RFC compliance in the byteranges filter. Ensure RFC validation compliance when serving cached entities. PR 16142 trunk patch: http://svn.apache.org/r1479905 2.4.x patch: http://people.apache.org/~minfrin/httpd-if-range-fix2.4.patch (depends on r1479528 above) +1: minfrin * mod_cache: Ensure that we don't attempt to replace a cached response with an older response as per RFC2616 13.12. trunk patch: http://svn.apache.org/r1479966 http://people.apache.org/~minfrin/httpd-mod_cache-olderdate2.4.patch +1: minfrin A list of further possible backports can be found at: http://people.apache.org/~rjung/patches/possible-backports-httpd-trunk-2_4.txt If you want to propose one of those, please still add them here. OTHER PROPOSALS * opinion on more complete DefaultRuntimeDir use in 2.4.x? o If a module has a config directive for the run-time file that treats the configured path as relative to server root, preserve that behavior but change the location when not configured to respect DefaultRuntimeDir. With these changes, users with no per-runtime-file configuration directives can control everything with DefaultRuntimeDir. BUT: Existing users of DefaultRuntimeDir might get a short-term scare when some unconfigured run-time file starts respecting their DefaultRuntimeDir directive after an upgrade. +1: trawick, jim, rjung rjung: applicable trunk revisions WITHOUT the compatibility tweaks described above: scoreboard r1369477 core/pid file r1369808 core/mutex r1370288 mod_socache_XXX r1370225, r1407385 mod_ldap r1371684 mod_cache r1407381 mod_slotmem_plain r1370763 igalic: We have three votes, what's the status here? Independently, backport any doc tweaks to 2.4 API migration page. PATCHES/ISSUES THAT ARE STALLED * 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 ... * mod_ssl: Add support for Next Protocol Negotiation. Trunk patch: http://svn.apache.org/viewvc?view=revision&revision=1332643 2.4.x patch: Trunk patch works. +1: ben sf says: Needs r1345599, too. And wrowe's comment about the 2.2 patch is also valid for 2.4: http://svn.apache.org/viewvc?view=revision&revision=1354823 * mod_ssl: Add RFC 5878 support. This allows support of mechansisms such as Certificate Transparency. Note that new mechanisms are supported without software updates. trunk patch: http://svn.apache.org/viewvc?view=revision&revision=1352596 2.4.x patch: http://people.apache.org/~ben/httpd-2.4-rfc5878.patch +1: ben, druggeri -1: kbrand druggeri note: Needs docs for new directive kbrand: depends on an unreleased OpenSSL version (1.0.2), and RFC 5878 is of "Category: Experimental". The API in the OpenSSL implementation from May 2012 (http://cvs.openssl.org/chngview?cn=22601) only covers the privately-defined TLSEXT_AUTHZDATAFORMAT_audit_proof, there's no support for x509_attr_cert (section 3.3.1 in RFC 5878) or saml_assertion (3.3.2). SSL_CTX_use_authz_file doesn't have any docs in OpenSSL, either, and there's no "openssl foo ..." command or similar to create/manage such files. Additionally, httpd-2.4-rfc5878.patch includes a build-system change which is unrelated to this feature. Note: as of 2013-04-15, r1352596 has been reverted in trunk (with r1468131), for the reasons explained in the message with id <515FED7C.5010009@velox.ch> sent to the dev list on 2013-04-06. ben: not correct that it depends on OpenSSL 1.0.2, it builds with any version. Also, if you read my note to dev@ you will see why it is not premature. minfrin: once this gets docs, +1. * 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 satisified 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?