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