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