STATUS revision 19de12b460b45549814b3212712ec303c44e03b5
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankgAPACHE 2.1 STATUS: -*-text-*-
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankgLast modified at [$Date$]
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankg
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankgThe current version of this file can be found at:
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankg
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankg * http://svn.apache.org/repos/asf/httpd/httpd/trunk/STATUS
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankg
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankgDocumentation status is maintained seperately and can be found at:
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankg
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankg * docs/STATUS in this source tree, or
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankg * http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/STATUS
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankg
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankgConsult the following STATUS files for information on related projects:
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankg
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankg * http://svn.apache.org/repos/asf/apr/apr/trunk/STATUS
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankg * http://svn.apache.org/repos/asf/apr/apr-util/trunk/STATUS
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankg
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankgPatches considered for backport are noted in their branches' STATUS:
7190e58eec40192c9719d2f2593471eda14e7e7cfuankg
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankg * http://svn.apache.org/repos/asf/httpd/httpd/branches/1.3.x/STATUS
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankg * http://svn.apache.org/repos/asf/httpd/httpd/branches/2.0.x/STATUS
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankg
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankg
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankgRelease history:
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankg [NOTE that only Alpha/Beta releases occur in 2.1 development]
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankg
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankg 2.1.9 : in development
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankg 2.1.8 : Released on 1/10/2005 as beta.
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankg 2.1.7 : Released on 12/09/2005 as beta.
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankg 2.1.6 : Released on 6/27/2005 as alpha.
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankg 2.1.5 : Tagged on 6/17/2005.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes 2.1.4 : not released.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes 2.1.3 : Released on 2/22/2005 as alpha.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes 2.1.2 : Released on 12/08/2004 as alpha.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes 2.1.1 : Released on 11/19/2004 as alpha.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes 2.1.0 : not released.
70953fb44a7140fe206c3a5f011e24209c8c5c6abnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesContributors looking for a mission:
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg * Just do an egrep on "TODO" or "XXX" in the source.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * Review the bug database at: http://issues.apache.org/bugzilla/
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * Review the "PatchAvailable" bugs in the bug database:
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes http://issues.apache.org/bugzilla/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&product=Apache+httpd-2.0&keywords=PatchAvailable
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes After testing, you can append a comment saying "Reviewed and tested".
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * Open bugs in the bug database.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesCURRENT RELEASE NOTES:
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesRELEASE SHOWSTOPPERS:
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * Handling of non-trailing / config by non-default handler is broken
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes http://marc.theaimsgroup.com/?l=apache-httpd-dev&m=105451701628081&w=2
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes jerenkrantz asks: Why should this block a release?
70953fb44a7140fe206c3a5f011e24209c8c5c6abnicholes wsanchez agrees: this may be a change in behavior, but isn't
70953fb44a7140fe206c3a5f011e24209c8c5c6abnicholes clearly wrong, and even if so, it doesn't seem like a
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes showstopper.
f7d723f1ad88ed006c6caf4c2c6604b7c59dd172bnicholes
f300a833b20ab4dee4839f186ebb01a488c59752fuankg * the edge connection filter cannot be removed
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes http://marc.theaimsgroup.com/?l=apache-httpd-dev&m=105366252619530&w=2
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes jerenkrantz asks: Why should this block a release?
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes stas replies: because it requires a rewrite of the filters stack
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes implementation (you have suggested that) and once 2.2 is
9e64e5fdfddfa4b0aa678180f2d28fe1fb808b5ffuankg released you can't do that anymore.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bfd312b5e6b4bf7113ef8f655b044f93f5c18f28fuankgCURRENT VOTES:
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * httpd-std.conf and friends
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes a) httpd-std.conf should be tailored by install (from src or
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes binbuild) even if user has existing httpd.conf
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes +1: trawick, slive, gregames, ianh, Ken, wrowe, jwoolley, jim, nd,
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes erikabele
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes wrowe - prefer httpd.default.conf to avoid ambiguity with cvs
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes b) tailored httpd-std.conf should be copied by install to
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes sysconfdir/examples
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes -0: striker
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes c) tailored httpd-std.conf should be installed to
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes sysconfdir/examples or manualdir/exampleconf/
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes +1: slive, trawick, Ken, nd (prefer the latter), erikabele
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes +1: wsanchez (propose sysconfdir/examples/<version> for diffiness)
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes d) Installing a set of default config files when upgrading a server
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes doesn't make ANY sense at all.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes +1: ianh - medium/big sites don't use 'standard config' anyway, as it
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes usually needs major customizations
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes -1: Ken, wrowe, jwoolley, jim, nd, erikabele
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes wrowe - diff is wonderful when comparing old/new default configs,
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes even for customized sites that ianh mentions
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes jim - ... assuming that the default configs have been updated
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes with the required inline docs to explain the
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes changes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * If the parent process dies, should the remaining child processes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes "gracefully" self-terminate. Or maybe we should make it a runtime
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes option, or have a concept of 2 parent processes (one being a
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes "hot spare").
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes See: Message-ID: <3C58232C.FE91F19F@Golux.Com>
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Self-destruct: Ken, Martin, Lars
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg Not self-destruct: BrianP, Ian, Cliff, BillS
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Make it runtime configurable: Aaron, jim, Justin, wrowe, rederpj, nd
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes /* The below was a concept on *how* to handle the problem */
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Have 2 parents: +1: jim
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes -1: Justin, wrowe, rederpj, nd
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes +0: Lars, Martin (while standing by, could it do
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes something useful?)
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * Make the worker MPM the default MPM for threaded Unix boxes.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes +1: Justin, Ian, Cliff, BillS, striker, wrowe, nd
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes +0: BrianP, Aaron (mutex contention is looking better with the
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes latest code, let's continue tuning and testing), rederpj, jim
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes -0: Lars
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes pquerna: Do we want to change this for 2.2?
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesRELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * Patches submitted to the bug database:
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes http://issues.apache.org/bugzilla/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&product=Apache+httpd-2.0&keywords=PatchAvailable
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * Filter stacks and subrequests, redirects and fast redirects.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes There's at least one PR that suffers from the current unclean behaviour
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes (which lets the server send garbage): PR 17629
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes nd says: Every subrequest should get its own filter stack with the
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes subreq_core filter as bottom-most. That filter does two things:
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes - swallow EOS buckets
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes - redirect the data stream to the upper request's (rr->main)
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes filter chain directly after the subrequest's starting
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes point.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Once we have a clean solution, we can try to optimize
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes it, so that the server won't be slow down too much.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * RFC 2616 violations.
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg Closed PRs: 15857.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Open PRs: 15852, 15859, 15861, 15864, 15865, 15866, 15868, 15869,
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes 15870, 16120, 16125, 16126, 16133, 16135, 16136, 16137,
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg 16138, 16139, 16140, 16142, 16518, 16520, 16521,
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes jerenkrantz says: need to decide how many we need to backport and/or
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes if these rise to showstopper status.
6c080a25f5991f40225209541c989d7e76c4a39dbnicholes wrowe suggests: it would be nice to see "MUST" v.s. "SHOULD" v.s. "MAY"
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes out of this list, without reviewing them individually.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * There is a bug in how we sort some hooks, at least the pre-config
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes hook. The first time we call the hooks, they are in the correct
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes order, but the second time, we don't sort them correctly. Currently,
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes the modules/http/config.m4 file has been renamed to
41022996c916eb4ab2ec3204eb491b64779eb100bnicholes modules/http/config2.m4 to work around this problem, it should moved
41022996c916eb4ab2ec3204eb491b64779eb100bnicholes back when this is fixed.
41022996c916eb4ab2ec3204eb491b64779eb100bnicholes
41022996c916eb4ab2ec3204eb491b64779eb100bnicholes OtherBill offers that this is a SERIOUS problem. We do not sort
41022996c916eb4ab2ec3204eb491b64779eb100bnicholes correctly by the ordering arguments passed to the register hook
036436f4f4cdcd76186c0058891216545967043bbnicholes functions. This was proven when I reordered the open_logs hook
41022996c916eb4ab2ec3204eb491b64779eb100bnicholes to attempt to open the error logs prior to the access logs. Possibly
41022996c916eb4ab2ec3204eb491b64779eb100bnicholes the entire sorting code needs to be refactored.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg * pipes deadlock on all platforms with limited pipe buffers (e.g. both
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Linux and Win32, as opposed to only Win32 on 1.3). The right solution
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes is either GStein's proposal for a "CGI Brigade", or OtherBill's proposal
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg for "Poll Buckets" for "Polling Filter Chains". Or maybe both :-)
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * All handlers should always send content down even if r->header_only
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes is set. If not, it means that the HEAD requests don't generate the
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes same headers as a GET which is wrong.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg * exec cmd and suexec arg-passing enhancements
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Status: Patches proposed
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Message-ID: <20020526041748.A29148@prodigy.Redbrick.DCU.IE>
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes (see the "proc.patch" and "suexec-shell.patch" links in this message)
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * The 2.0.36 worker MPM graceless shutdown changes work but are
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes a bit clunky on some platforms; eg, on Linux, the loop to
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes join each worker thread seems to hang, and the parent ends up
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes killing off the child with SIGKILL. But at least it shuts down.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * --enable-mods-shared="foo1 foo2" is busted on Darwin. Pier
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes posted a patch (Message-ID: <B8DBBE8D.575A%pier@betaversion.org>).
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * We do not properly substitute the prefix-variables in the configuration
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes scripts or generated-configs. (i.e. if sysconfdir is etc,
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes httpd-std.conf points to conf.)
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * If any request gets through ap_process_request_internal() and is
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes scheduled to be served by the core handler, without a flag that this
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes r->filename was tested by dir/file_walk, we need to 500 at the very
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg end of the ap_process_request_internal() processing so sub_req-esters
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes know this request cannot be run. This provides authors of older
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes modules better compatibility, while still improving the security and
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg robustness of 2.0.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Status: still need to decide where this goes, OtherBill comments...
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Message-ID: <065701c14526$495203b0$96c0b0d0@roweclan.net>
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg [Deleted comments regarding the ap_run_handler phase, as irrelevant
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes as BillS points out that "common case will be caught in
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes default_handler already (with the r->finfo.filetype == 0 check)"
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes and the issue is detecting this -before- we try to run the req.]
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes gregames says: can this happen somehow without a broken module
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes being involved? If not, why waste cycles trying to defend against
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes potential broken modules? It seems futile.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes wrowe counters: no, it shouldn't happen unless the module is broken.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes But the right answer is to fail the request up-front in dir/file
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes walk if the path was entirely invalid; and we can't do that either
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes UNTIL 2.1 or we break modules that haven't hooked map_to_storage.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * With AP_MODE_EXHAUSTIVE in the core, it is finally clear to me
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes how the Perchild MPM should be re-written. It hasn't worked
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes correctly since filters were added because it wasn't possible to
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes get the content that had already been written and the socket at
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes the same time. This mode lets us do that, so the MPM can be
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes fixed.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * Can a static httpd be built reliably?
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Message-ID: <20020207142751.T31582@clove.org>
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * Usage of APR_BRIGADE_NORMALIZE in core_input_filter should be
56ab8639aed4d3b2f031d9c1160c5f40af01bdebjerenkrantz removed if possible.
286fed73f9d1474652034465d4048247c6e7341fbnicholes Message-ID: <Pine.LNX.4.33.0201202232430.318-100000@deepthought.cs.virginia.edu>
be88e49281c5becee364ab9c6a0576f9b9844e0fbnicholes Jeff wonders if we still care about this. It is no longer an
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes API issue but simply an extra trip through the brigade.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * Get perchild to work on platforms other than Linux. This
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes will require a portable mechanism to pass data and file/socket
56ab8639aed4d3b2f031d9c1160c5f40af01bdebjerenkrantz descriptors between vhost child groups. An API was proposed
56ab8639aed4d3b2f031d9c1160c5f40af01bdebjerenkrantz on dev@apr:
56ab8639aed4d3b2f031d9c1160c5f40af01bdebjerenkrantz Message-ID: <20020111115006.K1529@clove.org>
56ab8639aed4d3b2f031d9c1160c5f40af01bdebjerenkrantz
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * Try to get libtool inter-library dependency code working on AIX.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Message-ID: <cm3n10lx555.fsf@rdu163-40-092.nc.rr.com>
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
f7d723f1ad88ed006c6caf4c2c6604b7c59dd172bnicholes Justin says: If we get it working on AIX, we can enable this
f7d723f1ad88ed006c6caf4c2c6604b7c59dd172bnicholes on all platforms and clean up our build system
4f935de4900dc064a1e145be5e48f6af77ac24fcbnicholes somewhat.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Jeff says: I thought I tested a patch for you sometime in
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes January that you were going to commit within a few
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes days.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * Handling of %2f in URIs. Currently both 1.3 and 2.0
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes completely disallow %2f in the request URI path (see
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes ap_unescape_url() in util.c). It's permitted and passed
e961abd49ab1b184b356f63591d37083a5651451bnicholes through in the query string, however. Roy says the
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes original reason for disallowing it, from five years ago,
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes was to protect CGI scripts that applied PATH_INFO to
5f2aaa2483c4526d7930df4a0e5844c1b7b6c9c0fuankg a filesystem location and which might be tricked by
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes ..%2f..%2f(...). We *should* allow path-info of the
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes form 'http://foo.com/index.cgi/path/to/path%2finfo'.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Since we've revamped a lot of our processing of path
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes segments, it would be nice to allow this, or at least
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes allow it conditionally with a directive.
440cda576ca9ff6476e4a04bdb253c5023da15eejerenkrantz
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes OtherBill adds that %2f as the SECOND character of a multibyte
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes sequence causes the request to fail! This happens notably in
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes the ja-jis encoding.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * FreeBSD, threads, and worker MPM. All seems to work fine
4a59e9d628fb857a45d516ad1cdc2a3499427e97fuankg if you only have one worker process with many threads. Add
6f2fa094a76c27135a9825ca9492f9db0a1a3bc9bnicholes a second worker process and the accept lock seems to be
78a20a6e7ad3a0229900ee54c7d11a65f647b663niq lost. This might be an APR issue with how it deals with
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes the child_init hook (i.e. the fcntl lock needs to be resynced).
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes More examination and analysis is required.
91f672664302529bb620e3265cccd861661d258cbnicholes Status: Works with FreeBSD 5.3. Does not work in previous versions.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes This has also been reported on Cygwin.
3163ad7b2076b0f6961dc1a1ddaa06b240eecb7cjorton
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * There is increasing demand from module writers for an API
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes that will allow them to control the server � la apachectl.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Reasons include sole-function servers that need to die if
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes an external dependency (e.g., a database) fails, et cetera.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Perhaps something in the (ever more abused) scoreboard?
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
9558e9fdb620dd6f42ca93beac6c3ab734086706bnicholes On the other hand, we already have a pipe that goes between parent
9558e9fdb620dd6f42ca93beac6c3ab734086706bnicholes and child for graceful shutdown events, along with an API that
9558e9fdb620dd6f42ca93beac6c3ab734086706bnicholes can be used to send a message down that pipe. In threaded MPMs,
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg it is easy enough to make that one pipe be used for graceful
9558e9fdb620dd6f42ca93beac6c3ab734086706bnicholes and graceless events, and it is also easy to open that pipe
9558e9fdb620dd6f42ca93beac6c3ab734086706bnicholes to both parent and child for writing. Then we just need to
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes figure out how to do graceless on non-threaded MPMs.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * Allow the DocumentRoot directive within <Location > scopes? This
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes allows the beloved (crusty) Alias /foo/ /somepath/foo/ followed
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes by a <Directory /somepath/foo> to become simply
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg <Location /foo/> DocumentRoot /somefile/foo (IMHO a bit more legible
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes and in-your-face.) DocumentRoot unset would be accepted [and would
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes not permit content to be served, only virtual resources such as
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes server-info or server-status.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes This proposed change would _not_ depricate Alias.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes striker: See the thread starting with Message-ID:
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes JLEGKKNELMHCJPNMOKHOGEEJFBAA.striker@apache.org.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * Win32: Rotatelogs sometimes is not terminated when Apache
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes goes down hard. FirstBill was looking at possibly tracking the
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes child's-child processes in the parent process.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes stoddard: Shared scoreboard might offer a good way for the parent
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes to keep track of 'other child' processes and whack them if the child
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes goes down.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Other thoughts on walking the process chain using the NT kernel
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes have also been proposed on APR.
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * Eliminate unnecessary creation of pipes in mod_cgid
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * Combine log_child and piped_log_spawn. Clean up http_log.c.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Common logging API.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * Platforms that do not support fork (primarily Win32 and AS/400)
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Architect start-up code that avoids initializing all the modules
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes in the parent process on platforms that do not support fork.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * There are still a number of places in the code where we are
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes losing error status (i.e. throwing away the error returned by a
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes system call and replacing it with a generic error code)
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * Mass vhosting version of suEXEC.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * All DBMs suffer from confusion in support/dbmmanage (perl script) since
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes the dbmmanage employs the first-matched dbm format. This is not
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes necessarily the library that Apache was built with. Aught to
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes rewrite dbmmanage upon installation to bin/ with the proper library
9558e9fdb620dd6f42ca93beac6c3ab734086706bnicholes for predictable mod_auth_dbm administration.
e76fdcdfb8994ad70776526f50fa013b3e9a6033bnicholes Questions; htdbm exists, time to kill dbmmanage, or does it remain
9558e9fdb620dd6f42ca93beac6c3ab734086706bnicholes useful as a perl dbm management example? If we keep it,
9558e9fdb620dd6f42ca93beac6c3ab734086706bnicholes do we address the issue above?
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg
9558e9fdb620dd6f42ca93beac6c3ab734086706bnicholes * Integrate mod_dav.
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg Some additional items remaining:
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg - case_preserved_filename stuff
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes (use the new canonical name stuff?)
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes - find a new home for ap_text(_header)
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes - is it possible to remove the DAV: namespace stuff from util_xml?
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * ap_core_translate() and its use by mod_mmap_static and mod_file_cache
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg are a bit wonky. The function should probably be exposed as a utility
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg function (such as ap_translate_url2fs() or ap_validate_fs_url() or
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes something). Another approach would be a new hook phase after
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes "translate" which would allow the module to munge what the
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes translation has decided to do.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Status: Greg +1 (volunteers)
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * Explore use of a post-config hook for the code in http_main.c which
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes calls ap_fixup_virutal_hosts(), ap_fini_vhost_config(), and
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes ap_sort_hooks() [to reduce the logic in main()]
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * read the config tree just once, and process N times (as necessary)
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * (possibly) use UUIDs in mod_unique_id and/or mod_usertrack
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * (possibly) port the bug fix for PR 6942 (segv when LoadModule is put
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes into a VirtualHost container) to 2.0.
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * shift stuff to mod_core.h
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
25b3aa26ee94824bb1e9ff2631aa1588b37e5f72fuankg * callers of ap_run_create_request() should check the return value
f2f3f241c00a7a4bd597e57a19023940e072918abnicholes for failure (Doug volunteers)
f2f3f241c00a7a4bd597e57a19023940e072918abnicholes
f2f3f241c00a7a4bd597e57a19023940e072918abnicholes * Win32: Get Apache working on Windows 95/98. The following work
f2f3f241c00a7a4bd597e57a19023940e072918abnicholes (at least) needs to be done:
f2f3f241c00a7a4bd597e57a19023940e072918abnicholes - Document warning that OSR2 is required (for Crypt functions, in
f2f3f241c00a7a4bd597e57a19023940e072918abnicholes rand.c, at least.) This could be resolved with an SSL library, or
03ff116275bf4439816b8af6ea3ddabd469f8365fuankg randomization in APR itself.
f2f3f241c00a7a4bd597e57a19023940e072918abnicholes - Bring the Win9xConHook.dll from 1.3 into 2.0 (no sense till it
f2f3f241c00a7a4bd597e57a19023940e072918abnicholes actually works) and add in a splash of Win9x service code.
03ff116275bf4439816b8af6ea3ddabd469f8365fuankg
4883fd339815130dbe680e816ef00256e10b844ffuankg * Fix the worker MPM to use POD to kill child processes instead
f2f3f241c00a7a4bd597e57a19023940e072918abnicholes of ap_os_killpg, regardless of how they should die.
755d7c84cbdd7bad94beede1d6b5a6526d3a1ccdfuankg
755d7c84cbdd7bad94beede1d6b5a6526d3a1ccdfuankg * Scoreboard structures could be changed in the future such that
755d7c84cbdd7bad94beede1d6b5a6526d3a1ccdfuankg proper alignment is not maintained, leading to segfaults on
755d7c84cbdd7bad94beede1d6b5a6526d3a1ccdfuankg some systems. Cliff posted a patch to deal with this issue but
755d7c84cbdd7bad94beede1d6b5a6526d3a1ccdfuankg later recanted. See this message to dev@apr.apache.org:
755d7c84cbdd7bad94beede1d6b5a6526d3a1ccdfuankg Message-ID: <Pine.LNX.4.44.0203011354090.16457-200000@deepthought
755d7c84cbdd7bad94beede1d6b5a6526d3a1ccdfuankg .cs.virginia.edu>
755d7c84cbdd7bad94beede1d6b5a6526d3a1ccdfuankg
755d7c84cbdd7bad94beede1d6b5a6526d3a1ccdfuankg * APXS either needs to be fixed completely for use when apr is out of tree,
4883fd339815130dbe680e816ef00256e10b844ffuankg or it should drop query mode altogether, and we just grow an
4883fd339815130dbe680e816ef00256e10b844ffuankg httpd-config or similar arrangement.
f2f3f241c00a7a4bd597e57a19023940e072918abnicholes To quote a discussion in STATUS earlier:
f2f3f241c00a7a4bd597e57a19023940e072918abnicholes
f2f3f241c00a7a4bd597e57a19023940e072918abnicholes thommay: this doesn't fix all the problems with apxs and out of
f2f3f241c00a7a4bd597e57a19023940e072918abnicholes tree apr/apr-util, but it's a good start. There's still the
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg query cases; but I'm beginning to think that in these cases
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg the app should be querying ap{r,u}-config directly
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg gstein: agreed. apxs should deprecate the -q flag
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg pquerna: I vote for a httpd-config, and to deprecate the -q flag.
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg minfrin: +1 for httpd-config, and to deprecate -q.
0f7cc4b1d3c42262bcdced99f682778963e83ea7bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
f2f3f241c00a7a4bd597e57a19023940e072918abnicholesTODO ISSUES REMAINING IN MOD_SSL:
f2f3f241c00a7a4bd597e57a19023940e072918abnicholes
f2f3f241c00a7a4bd597e57a19023940e072918abnicholes * In order to use a DSO version of mod_ssl we have to link with
f2f3f241c00a7a4bd597e57a19023940e072918abnicholes -lssl and -lcrypto. A workaround is in place right now where the
f2f3f241c00a7a4bd597e57a19023940e072918abnicholes entire EXTRA_LIBS macro is being appended to the objects list, but
f2f3f241c00a7a4bd597e57a19023940e072918abnicholes this is a hack. We should either revamp the APACHE_CHECK_SSL_TOOLKIT
f2f3f241c00a7a4bd597e57a19023940e072918abnicholes autoconf function or come up with some other autoconf checks to
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg search for libssl and libcrypto and properly add them to mod_ssl's
273e1eccdc9e5b94f1e3e13e3ffca7360b6f461fbnicholes link flags.
273e1eccdc9e5b94f1e3e13e3ffca7360b6f461fbnicholes
bfd312b5e6b4bf7113ef8f655b044f93f5c18f28fuankg * SSL renegotiations in combination with POST request
273e1eccdc9e5b94f1e3e13e3ffca7360b6f461fbnicholes
273e1eccdc9e5b94f1e3e13e3ffca7360b6f461fbnicholes * Port or dispose all code inside #if 0...#endif blocks that remain
bfd312b5e6b4bf7113ef8f655b044f93f5c18f28fuankg from the porting effort.
273e1eccdc9e5b94f1e3e13e3ffca7360b6f461fbnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * Do we need SSL_set_read_ahead()?
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * the ssl_expr api is NOT THREAD SAFE. race conditions exist:
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes -in ssl_expr_comp() if SSLRequire is used in .htaccess
8410c53aaf5e0372a19d5f4d2bc696b9c609ce3cbnicholes (ssl_expr_info is global)
8410c53aaf5e0372a19d5f4d2bc696b9c609ce3cbnicholes -is ssl_expr_eval() if there is an error
bfd312b5e6b4bf7113ef8f655b044f93f5c18f28fuankg (ssl_expr_error is global)
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * SSLRequire directive (parsing of) leaks memory
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * Diffie-Hellman-Parameters for temporary keys are hardcoded in
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes ssl_engine_dh.c, while the comment in ssl_engine_kernel.c says:
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes "it is suggested that keys be changed daily or every 500
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes transactions, and more often if possible."
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes
25b3aa26ee94824bb1e9ff2631aa1588b37e5f72fuankg * ssl_var_lookup could be rewritten to be MUCH faster
25b3aa26ee94824bb1e9ff2631aa1588b37e5f72fuankg
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg * CRL callback should be pluggable
* session cache store should be pluggable
* init functions should return status code rather than ssl_die()
* ssl_engine_pphrase.c needs to be reworked so it is generic enough
to also decrypt proxy keys
* the shmcb code should just align its memory segment rather than
jumping through all the "safe" memcpy and memset hoops
WISH LIST
* mod_proxy: Ability to run SSL over proxy gateway connections,
encrypting (or reencrypting) at the proxy.
* mod_cache: Handle ESI tags.
* mod_cache: Resolve issue of how to cache page fragements (or perhaps
-if- we want to cache page fragements). Today, mod_cache/mod_mem_cache
will cache #include 'virtual' requests (but not #include 'file'
requests). This was accomplished by making CACHE_IN a
CONTENT_SET-1 filter to force it to run before the SUBREQ_CORE
filter. But now responses cannot be cached that include the
effects of having been run through CONTENT_SET filters
(mod_deflate, mod_expires, etc). We could rerun all the
CONTENT_SET filters on the cached response, but this will not
work in all cases. For example, mod_expires relies on installing
the EXPIRATION filter during fixups. Contents served out of
mod_cache (out of the quick_handler) bypass -all- the request
line server hooks (Ryan really hated this. It is great for
performance, but bad because of the complications listed above).
mod_cache/mod_mem_cache/mod_disk_cache:
* mod_mem_cache: Consider adding a RevalidateTimeout directive to
specify time at which local cached content is to be revalidated
(ie, underlying file stat'ed to see if it has changed).
* mod_cache: CacheEnable/CacheDisable should accept regular expressions.
jerenkrantz says: Too slow. Get regexs away from speedy caches by
default. Introduce a new CacheEnableRegex if you want.
* mod_mem_cache/mod_disk_cache: Need to be able to query cache
status (num of entries, cache object properties, etc.).
mod_status could be extended to query optional hooks defined
by modules for the purpose of reporting module status.
mod_cache (et. al.) could define optional hooks that are called
to collect status. Status should be queryable by
HTTP or SNMP?
jerenkrantz says: Yawn. Who cares.
* MaxRequestsPerChild measures connections, not requests.
Until someone has a better way, we'll probably just rename it
"MaxConnectionsPerChild".
* Regex containers don't work in an intutive way
Status: No one has come up with an efficient way to fix this
behavior. Dean has suggested getting rid of regex containers
completely.
OtherBill suggests: We at least seem to agree on eliminating
the <Container ~ foo> forms, and using only
<ContainerMatch foo> semantics.
* orig_ct in the byterange/multipart handling may not be
needed. Apache 1.3 just never stashed "multipart" into
r->content_type. We should probably follow suit since the
byterange stuff doesn't want the rest of the code to see the
multipart content-type; the other code should still think it is
dealing with the <orig_ct> stuff.
Status: Greg volunteers to investigate (esp. since he was most
likely the one to break it :-)
EXPERIMENTAL MODULES:
Experimental modules should eventually be be promoted to fully supported
status or removed from the repository entirely (ie, the
'experiment' failed). This section tracks what needs to happen to
get the modules promoted to fully supported status.