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