Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tag: 2.2.5
Fetching contributors…

Cannot retrieve contributors at this time

327 lines (276 sloc) 15.845 kb
APACHE 2.2 STATUS: -*-text-*-
Last modified at [$Date$]
The current version of this file can be found at:
Documentation status is maintained seperately and can be found at:
* docs/STATUS in this source tree, or
Consult the following STATUS files for information on related projects:
Patches considered for backport are noted in their branches' 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:
* Review the "PatchAvailable" bugs in the bug database:
After testing, you can append a comment saying "Reviewed and tested".
* Open bugs in the bug database.
* 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.
[ start all new proposals below, under PATCHES PROPOSED. ]
* 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:
2.2.x version of patch:
Trunk version works
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_<COLUMN>. This brings
mod_authn_dbd behaviour in line with mod_authnz_ldap.
+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:
+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:
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:
(relevant portions only)
2.2.x version of 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:
(relevant portions only)
2.2.x version of 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:
2.2.x version of 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:
and the eventual solution as described in the comments in the
dbd_setup() function.
PR: 39985
Trunk version of patch:
2.2.x version of 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:
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 <DBDGroup> configuration
sections. (Any takers? :-)
PR: 41302
Trunk version of patch:
2.2.x version of 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:
+1: jfclere, mturk
-0.5: rpluem says: As said in
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
+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 <Proxy> 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:
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 <Proxy section line.
Additional arguments are allowed only for 'standard' url's, meaning that
the wildchar urls will return error like before. This allow to specify
the worker/balancer parameters on the definition line, without the need
for extra ProxySet options.
Trunk version of patch:
Backport version for 2.2.x of patch:
Trunk version of patch works
+1: rpluem, jim
* mod_ldap, mod_authnzldap: Add support for nested groups (i.e. the ability
to authorize an authenticated user via a "require ldap-group X" directive
where the user is not in group X, but is in a subgroup contained in X.
PR: 42891
A version of the patch specific to the 2.2 branch (i.e. the patch that
would be used for backport) can be found at:
+1: rederpj
-0: bnicholes - Unless this is considered to be a significant deficiency in the
authnz_ldap 2.2 functionality, I would rather see this as new
functionality going forward in 2.4 rather than backported to
2.2. We need new functionality to push us forward rather than
give us an excuse to stay where we are.
rederpj says: I'm working on a project based on Apache 2.2.x which needs this code
and I would much prefer to use official Apache code than end up using a private
patch. It isn't possible in the short term for us to move to trunk. It just
happened that code I had written to add this function lined up with PR 42891.
I was going to submit it and work to get it backported either way.
rpluem says: I am still missing a minor bump due to the changes done
in util_ldap.h. This is an extension of a public API.
trawick says: The new directives should be documented in trunk,
so that docs are available for backport at the same time.
* mime.types: Add registered Apple installer type
PR: 40379
Comment: if "pkg" or "dist" is overloaded in the context of
"extension"s, this may need to be reviewed. Anyone?
+1: niq
* httxt2dbm.exe: add to the Windows build
PR: 42549
+1: ake
* PKCS#7: backport PCKS#7 patches from trunk.
+1 ben
jerenkrantz: What's the revision number to backport?
wrowe asks: ditto jerenkrantz
sctemme: svn blame suggests r424707
rpluem: Digging through the history suggests that
need to be added to this. See also
and follow ups for more details.
* mod_proxy: Support variable interpolation in reverse proxy configuration (code) (code) (docs)
+1: niq, mturk
-1: wrowe notes; modifying the existing syntax makes collaboration
impossible by an admin team - unexpected side effects and the rest.
ProxyPassEnv* or ProxyPassSubstitute* directives that add this
behavior on a pattern-by-pattern basis would win my -1 to a +1,
and solve the performance hits noted by niq on an 80/20 basis.
Jump to Line
Something went wrong with that request. Please try again.