APACHE 2.2 STATUS: -*-text-*- Last modified at [$Date$] The current version of this file can be found at: * http://svn.apache.org/repos/asf/httpd/httpd/branches/2.2.x/STATUS Documentation status is maintained seperately and can be found at: * docs/STATUS in this source tree, or * http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/STATUS 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-util/trunk/STATUS Patches considered for backport are noted in their branches' STATUS: * http://svn.apache.org/repos/asf/httpd/httpd/branches/1.3.x/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 Release history: [NOTE that x.{odd}.z versions are strictly Alpha/Beta releases, while x.{even}.z versions are Stable/GA releases.] 2.2.5 : Tagged August 10, 2007 2.2.4 : Released on January 9, 2007 as GA. 2.2.3 : Released on July 28, 2006 as GA. 2.2.2 : Released on May 1, 2006 as GA. 2.2.1 : Tagged on April 1, 2006, not released. 2.2.0 : Released on December 1, 2005 as GA. 2.1.10 : Tagged on November 19, 2005, not released. 2.1.9 : Released on November 5, 2005 as beta. 2.1.8 : Released on October 1, 2005 as beta. 2.1.7 : Released on September 12, 2005 as beta. 2.1.6 : Released on June 27, 2005 as alpha. 2.1.5 : Tagged on June 17, 2005. 2.1.4 : not released. 2.1.3 : Released on February 22, 2005 as alpha. 2.1.2 : Released on December 8, 2004 as alpha. 2.1.1 : Released on November 19, 2004 as alpha. 2.1.0 : 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. CURRENT RELEASE NOTES: * Forward binary compatibility is expected of Apache 2.2.x releases, such that no MMN major number changes will occur. Such changes can only be made in the trunk. * All commits to branches/2.2.x must be reflected in SVN trunk, as well, if they apply. Logical progression is commit to trunk, get feedback and votes on list or in STATUS, then merge into branches/2.2.x, as applicable. RELEASE SHOWSTOPPERS: PATCHES ACCEPTED TO BACKPORT FROM TRUNK: [ start all new proposals below, under PATCHES PROPOSED. ] PATCHES PROPOSED TO BACKPORT FROM TRUNK: * mpm_winnt: Fix return values from wait_for_many_objects. Note - this is required to avoid hangups of socket #64, #128 as Microsoft set aside 64 reserved values. Trunk version of patch: http://svn.apache.org/viewvc?view=rev&revision=428029 2.2.x version of patch: Trunk version works http://people.apache.org/~wrowe/mpm_winnt_waits.patch is easier to read (-U8) +1: mturk +0: fielding (patch is okay, underlying code is crap) wrowe notes: a patch should have the necessary effect with the minimum lines of code - there's alot of redecorating that's going on in this patch to no net effect. The WAIT_TIMEOUT result value seems to be ignored in the revised code? mturk notes: WAIT_TIMEOUT is replaced by WAIT_FAILED with the accompanied patch in mpm\winnt\child.c. fielding notes: the routine is brain-dead -- one cannot replicate a wait for many objects by iterating through multiple waits with a one second sleep in between loops. That's insane. The right ways to do that are explained in the MSDN article In any case, it should be checking nCount <= MAXIMUM_WAIT_OBJECTS first and use the simple wait in that case. mturk notes: We are interested in that only during shutdown so a one second simplification is acceptable compromise. The sole purpose of the patch is to allow the clean shutdown when the MaxClients is higher then 257. * mod_authn_dbd: Export any additional columns queried in the SQL select into the environment with the name AUTHENTICATE_. This brings mod_authn_dbd behaviour in line with mod_authnz_ldap. Trunk: http://svn.apache.org/viewvc?view=rev&revision=466865 +1: minfrin niq: This wants a little tidying. Use of 13 as a magic number (for a strlen of something defined elsewhere) is nasty. More importantly you need to document how it affects the module's directives. I'll +1 it when that's done. wrowe: ditto's - good concept. * mod_dbd: initialise resources and prepared statements in all vhosts PRs: 42327, 41302 Trunk: N/A due to other changes (r503931 et al) Patch by bojan: http://issues.apache.org/bugzilla/attachment.cgi?id=20161 +1: niq -1: chrisd: I think r503931 is actually the right thing to backport here, which admittedly probably requires backporting r491729, r491884, r492394 (trivial), and r496831 first. While more complex than a quick patch, I think the explanation in the fourth section of this post explains why there's no simple fix for the virtual-host inheritance issues: http://marc.info/?l=apache-httpd-dev&m=116742014418304&w=2 Doing this work would also let us close at least three PRs. PR 42327 seems like a duplicate of 41302 (both would be closed by r503931), and r496831 would close PR 39985 as well. * mod_dbd: Rename functions and variables for consistency, and move some functions around for readability, prior to making functional changes for PRs 39985, 41302, and other issues. Trunk version of patches: http://svn.apache.org/viewvc?view=rev&revision=491729 http://svn.apache.org/viewvc?view=rev&revision=492394 (relevant portions only) http://svn.apache.org/viewvc?view=rev&revision=521230 2.2.x version of patch: http://people.apache.org/~chrisd/patches/mod_dbd_pools_groups/mod_dbd-1tidy-2.2.x.patch +1: chrisd, fuankg +1: niq (to chris's mod_dbd updates collectively) * mod_dbd: Handle error conditions in dbd_construct() properly. Simplify ap_dbd_open() and use correct arguments to apr_dbd_error() when non-threaded. Register correct cleanup data in non-threaded ap_dbd_acquire() and ap_dbd_cacquire(). Clean up configuration data and merge function. Use ap_log_error() wherever possible. Trunk version of patches: http://svn.apache.org/viewvc?view=rev&revision=491884 http://svn.apache.org/viewvc?view=rev&revision=492394 (relevant portions only) 2.2.x version of patch: http://people.apache.org/~chrisd/patches/mod_dbd_pools_groups/mod_dbd-2misc-2.2.x.patch +1: chrisd +1: niq (to chris's mod_dbd updates collectively) * beos MPM: Create pmain pool and run modules' child_init hooks when entering ap_mpm_run(), then destroy pmain when exiting ap_mpm_run(). Otherwise modules' child_init hooks appear to never be executed. Also, destroying pmain ensures that cleanups registered in modules' child_init hooks are performed (e.g., mod_log_config and mod_dbd). Trunk version of patch: http://svn.apache.org/viewvc?view=rev&revision=491922 2.2.x version of patch: http://people.apache.org/~chrisd/patches/mod_dbd_pools_groups/mpm_child_init-beos-2.2.x.patch +0: chrisd (abstaining; unable to test) * mod_dbd: Create memory sub-pools for each DB connection and close DB connections in a pool cleanup function. Ensure prepared statements are destroyed before DB connection is closed. When using reslists, prevent segfaults when child processes exit, and stop memory leakage of ap_dbd_t structures. Avoid use of global s->process->pool, which isn't destroyed by exiting child processes in most multi-process MPMs. See also the third section of: http://marc.info/?l=apache-httpd-dev&m=116742014418304&w=2 and the eventual solution as described in the comments in the dbd_setup() function. PR: 39985 Trunk version of patch: http://svn.apache.org/viewvc?view=rev&revision=496831 2.2.x version of patch: http://people.apache.org/~chrisd/patches/mod_dbd_pools_groups/mod_dbd-3pools-2.2.x.patch +1: chrisd +1: niq (to chris's mod_dbd updates collectively) * mod_dbd: Introduce configuration groups to allow inheritance by virtual hosts of database configurations from the main server. Determine the minimal set of distinct configurations and share connection pools whenever possible. Allow virtual hosts to override inherited SQL statements. See also the fourth section of: http://marc.info/?l=apache-httpd-dev&m=116742014418304&w=2 and the eventual solution as implemented in the dbd_post_config() function. Obviates r424798, r432560, r432562, and r466641. Could be improved by the addition of configuration sections. (Any takers? :-) PR: 41302 Trunk version of patch: http://svn.apache.org/viewvc?view=rev&revision=503931 2.2.x version of patch: http://people.apache.org/~chrisd/patches/mod_dbd_pools_groups/mod_dbd-4groups-2.2.x.patch +1: chrisd +1: niq (to chris's mod_dbd updates collectively) * mod_proxy: Improve traces in ap_proxy_http_process_response() to investigate PR37770. Trunk version of patch: http://svn.apache.org/viewvc?view=rev&rev=549420 +1: jfclere, mturk -0.5: rpluem says: As said in http://mail-archives.apache.org/mod_mbox/httpd-dev/200706.mbox/%3c46828E5A.50606@apache.org%3e I would prefer creating the brigade used in ap_proxygetline outside of the loop and pass it to ap_proxygetline for each call. Only do an apr_brigade_cleanup inside of ap_proxygetline then. Furthermore the check for a buffer overflow a few lines later is not correct any more (now an error (APR_ENOSPC) is returned instead). * multiple files, Trivial cleanups PR: 39518 - Christophe JAILLET http://svn.apache.org/viewvc?view=rev&revision=557837 http://svn.apache.org/viewvc?view=rev&revision=557972 +1: rpluem niq: this isn't a straight backport (which is why I dropped it). +1 for core, modules/dav, modules/filters, and modules/ssl Not Applicable to modules/aaa * mod_proxy: Enable ProxySet inside section to create balancer or worker if they were not already created. This allows to have ProxySet directive before BalancerMember directives inside Proxy section. Trunk version of patch: http://svn.apache.org/viewcvs.cgi?rev=427920&view=rev Backport version for 2.2.x of patch: Trunk version of patch works +1: rpluem, jim -0.5: niq - This (ProxySet) needs documenting. Reviewing it 'blind' lacks appeal. * mod_proxy: Allow optional name=value options within