585895b11fc5072edf78147f9820d97bb020608drjungAPACHE 2.5 STATUS: -*-text-*-
7d5ac94fda90b837211dadf2585c0fe8c5dc3e5djerenkrantzLast modified at [$Date$]
c330021bf3f45cbf187fa644781e67f7e470a58awrowe
ecf8d72af432e53e4c0661fb99dfda8061507bfajerenkrantzThe current version of this file can be found at:
62f7716b14b71603a8004434ca3536902bfb8899wrowe
366616a5cc6212cbf7134ccf877f965d668c6b04wrowe * http://svn.apache.org/repos/asf/httpd/httpd/trunk/STATUS
366616a5cc6212cbf7134ccf877f965d668c6b04wrowe
a50b3b1b5ac488a316ab36af320415e840ccfa2frjungDocumentation status is maintained separately and can be found at:
366616a5cc6212cbf7134ccf877f965d668c6b04wrowe
366616a5cc6212cbf7134ccf877f965d668c6b04wrowe * docs/STATUS in this source tree, or
366616a5cc6212cbf7134ccf877f965d668c6b04wrowe * http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/STATUS
366616a5cc6212cbf7134ccf877f965d668c6b04wrowe
366616a5cc6212cbf7134ccf877f965d668c6b04wroweConsult the following STATUS files for information on related projects:
366616a5cc6212cbf7134ccf877f965d668c6b04wrowe
366616a5cc6212cbf7134ccf877f965d668c6b04wrowe * http://svn.apache.org/repos/asf/apr/apr/trunk/STATUS
366616a5cc6212cbf7134ccf877f965d668c6b04wrowe
366616a5cc6212cbf7134ccf877f965d668c6b04wrowePatches considered for backport are noted in their branches' STATUS:
366616a5cc6212cbf7134ccf877f965d668c6b04wrowe
366616a5cc6212cbf7134ccf877f965d668c6b04wrowe * http://svn.apache.org/repos/asf/httpd/httpd/branches/2.0.x/STATUS
38dc50ae00a1ea57fa41500d74f4e818747e3cefpquerna * http://svn.apache.org/repos/asf/httpd/httpd/branches/2.2.x/STATUS
585895b11fc5072edf78147f9820d97bb020608drjung * http://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x/STATUS
366616a5cc6212cbf7134ccf877f965d668c6b04wrowe
ecf8d72af432e53e4c0661fb99dfda8061507bfajerenkrantz
f19a8656f9b21bf3e66eb96e25eac2046c2d102bjim
ecf8d72af432e53e4c0661fb99dfda8061507bfajerenkrantzRelease history:
80464b326874ee15d74742ae39708ec3f2eae1d7wrowe [NOTE that x.{odd}.z versions are strictly Alpha/Beta releases,
80464b326874ee15d74742ae39708ec3f2eae1d7wrowe while x.{even}.z versions are Stable/GA releases.]
38dc50ae00a1ea57fa41500d74f4e818747e3cefpquerna
585895b11fc5072edf78147f9820d97bb020608drjung 2.5.0 : In Development.
af4c982a7cf4515f124935f99a329744035fc699slive
f610c7c704235bc327dbe9b62982f5b3f8e30a77wroweContributors looking for a mission:
f610c7c704235bc327dbe9b62982f5b3f8e30a77wrowe
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe * Just do an egrep on "TODO" or "XXX" in the source.
d96ee8cda2799e1f2743c1603adeb4833ed0e15fslive
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe * Review the bug database at: http://issues.apache.org/bugzilla/
ecf8d72af432e53e4c0661fb99dfda8061507bfajerenkrantz
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe * Review the "PatchAvailable" bugs in the bug database:
ecf8d72af432e53e4c0661fb99dfda8061507bfajerenkrantz
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe https://issues.apache.org/bugzilla/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&product=Apache+httpd-2&keywords=PatchAvailable
ecf8d72af432e53e4c0661fb99dfda8061507bfajerenkrantz
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe After testing, you can append a comment saying "Reviewed and tested".
d96ee8cda2799e1f2743c1603adeb4833ed0e15fslive
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe * Open bugs in the bug database.
f610c7c704235bc327dbe9b62982f5b3f8e30a77wrowe
dc287e6d736b5998068addfb712936f51818cc0frbowen * See also the STATUS file in the docs/ directory, which lists documentation-specific TODO items.
dc287e6d736b5998068addfb712936f51818cc0frbowen
62f7716b14b71603a8004434ca3536902bfb8899wrowe
4b62424416882687387923b3130b96241503cbe0jerenkrantzCURRENT RELEASE NOTES:
5ca8e11fadb6f7a8d9d0367c1800205c99d4bcd6jerenkrantz
62f7716b14b71603a8004434ca3536902bfb8899wrowe
45b0e1c775c1cfed6473c9e5304179ccb9609f53stoddardRELEASE SHOWSTOPPERS:
dbec4658981e4f9127e8676457c28d42932be7cdtrawick
c4beaaf4e697ed012c8c535f849bb13a77620f05sfTHINGS THAT SHOULD BE CONSIDERED EARLY IN THE 2.6/3.0 DEVELOPMENT CYCLE:
c4beaaf4e697ed012c8c535f849bb13a77620f05sf
c4beaaf4e697ed012c8c535f849bb13a77620f05sf * Change default prefix from /usr/local/apache2 to something corresponding
c4beaaf4e697ed012c8c535f849bb13a77620f05sf to the project name. Rename apachectl.
c4beaaf4e697ed012c8c535f849bb13a77620f05sf
c4beaaf4e697ed012c8c535f849bb13a77620f05sf * Change merge order of <Location> to be most specific match last. This
c4beaaf4e697ed012c8c535f849bb13a77620f05sf is more consistent with <Directory> and allows some optimizations for the
c4beaaf4e697ed012c8c535f849bb13a77620f05sf location merge code.
c4beaaf4e697ed012c8c535f849bb13a77620f05sf
e26be55e30feaa1b3783feaa7060176ae87c9048rjung * Detect Lua 5.2.0 during configure and add LUA_COMPAT_ALL to CPPFLAGS.
e26be55e30feaa1b3783feaa7060176ae87c9048rjung Maybe it even suffices to add LUA_COMPAT_MODULE and individually
e26be55e30feaa1b3783feaa7060176ae87c9048rjung care about the two remaining incompatible code lines (one with lua_strlen,
e26be55e30feaa1b3783feaa7060176ae87c9048rjung one with lua_objlen).
e26be55e30feaa1b3783feaa7060176ae87c9048rjung
c4beaaf4e697ed012c8c535f849bb13a77620f05sfOLD ISSUES THAT WERE THOUGHT TO BE SHOWSTOPPERS FOR 2.4 BUT OBVIOUSLY WEREN'T:
a74ee4396fe11ffc1ca05837a59e497c905eedc3sf
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe * Handling of non-trailing / config by non-default handler is broken
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe http://marc.theaimsgroup.com/?l=apache-httpd-dev&m=105451701628081&w=2
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe jerenkrantz asks: Why should this block a release?
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe wsanchez agrees: this may be a change in behavior, but isn't
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe clearly wrong, and even if so, it doesn't seem like a
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe showstopper.
f6a9b598f78b2e745456bfc4bbc4afd2d1572aa9stas
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe * the edge connection filter cannot be removed
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe http://marc.theaimsgroup.com/?l=apache-httpd-dev&m=105366252619530&w=2
8e5b782f9a73e0c6de56579b5128b387b1935daasf http://mail-archives.apache.org/mod_mbox/httpd-dev/200501.mbox/%3C41E30B42.4060202@stason.org%3E
0db0abcbe4211435c08e0c0e8f5daa278bed3524wsanchez
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe jerenkrantz asks: Why should this block a release?
0db0abcbe4211435c08e0c0e8f5daa278bed3524wsanchez
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe stas replies: because it requires a rewrite of the filters stack
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe implementation (you have suggested that) and once 2.2 is
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe released you can't do that anymore.
f6a9b598f78b2e745456bfc4bbc4afd2d1572aa9stas
bce58f79020e39e5ac5de398fe08b4f8a1e19970pgollucci pgollucci: this affects mod_perl I'm pretty sure.
62f7716b14b71603a8004434ca3536902bfb8899wrowe
f4cb04eb78da02a38fcdd87489dc7b660107d55fjerenkrantzCURRENT VOTES:
f4cb04eb78da02a38fcdd87489dc7b660107d55fjerenkrantz
53e66a2931d02e84628ba946055cc92e56b43db8wrowe * Name the Server (version 2.4 or 3.0, depending on the final call)
53e66a2931d02e84628ba946055cc92e56b43db8wrowe Recent discussion indicates we should designate a (short name).
53e66a2931d02e84628ba946055cc92e56b43db8wrowe This is not yet a [Vote] - Your nominations please:
53e66a2931d02e84628ba946055cc92e56b43db8wrowe * Apache HTTP Server (httpd)
71cda1f2d621dbd9fd3406e35a6f8c412576a15dpgollucci +1: sctemme (why mess with it?), pgollucci
53e66a2931d02e84628ba946055cc92e56b43db8wrowe
1b3f48fd6b1ccb8745f908e40156c5a85ca3c347jerenkrantzRELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:
b05930e6008f69bd323abe0c10f81f40ffd27983brianp
9c09bec965ddf31d132ffaef4305a4eb945b2877jim * Clean up all the kruft and *extremely* outdated stuff below...
9c09bec965ddf31d132ffaef4305a4eb945b2877jim
99665be7f22b9e3421bd698bd731f82ab0deb827sf * Maybe remove Limit/LimitExcept or at least make it log warnings when
99665be7f22b9e3421bd698bd731f82ab0deb827sf mis-used.
e1c6982304adafcec09d2627755be15b87a6b425sf
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe * Patches submitted to the bug database:
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe http://issues.apache.org/bugzilla/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&product=Apache+httpd-2&keywords=PatchAvailable
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe * Filter stacks and subrequests, redirects and fast redirects.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe There's at least one PR that suffers from the current unclean behaviour
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe (which lets the server send garbage): PR 17629
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe nd says: Every subrequest should get its own filter stack with the
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe subreq_core filter as bottom-most. That filter does two things:
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe - swallow EOS buckets
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe - redirect the data stream to the upper request's (rr->main)
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe filter chain directly after the subrequest's starting
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe point.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe Once we have a clean solution, we can try to optimize
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe it, so that the server won't be slow down too much.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe * RFC 2616 violations.
979b5dac648b2e3eef4b5a514b3711b58640026bsctemme Closed PRs: 15852, 15857, 15859, 15861, 15864, 15869, 15870, 16120,
979b5dac648b2e3eef4b5a514b3711b58640026bsctemme 16125, 16135, 16136, 16137, 16138, 16139, 16140, 16518,
a46801e6532423aa7bd184471eb49158d7c9ae62sf 16520, 49825
a46801e6532423aa7bd184471eb49158d7c9ae62sf Open PRs: 15865, 15866, 15868, 16126, 16133, 16142, 16521, 42978
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe jerenkrantz says: need to decide how many we need to backport and/or
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe if these rise to showstopper status.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe wrowe suggests: it would be nice to see "MUST" v.s. "SHOULD" v.s. "MAY"
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe out of this list, without reviewing them individually.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe * pipes deadlock on all platforms with limited pipe buffers (e.g. both
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe Linux and Win32, as opposed to only Win32 on 1.3). The right solution
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe is either GStein's proposal for a "CGI Brigade", or OtherBill's proposal
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe for "Poll Buckets" for "Polling Filter Chains". Or maybe both :-)
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe * All handlers should always send content down even if r->header_only
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe is set. If not, it means that the HEAD requests don't generate the
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe same headers as a GET which is wrong.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe * exec cmd and suexec arg-passing enhancements
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe Status: Patches proposed
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe Message-ID: <20020526041748.A29148@prodigy.Redbrick.DCU.IE>
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe (see the "proc.patch" and "suexec-shell.patch" links in this message)
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe * The 2.0.36 worker MPM graceless shutdown changes work but are
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe a bit clunky on some platforms; eg, on Linux, the loop to
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe join each worker thread seems to hang, and the parent ends up
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe killing off the child with SIGKILL. But at least it shuts down.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe chrisd: Has this been fixed by the changes for PR 38737?
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe * We do not properly substitute the prefix-variables in the configuration
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe scripts or generated-configs. (i.e. if sysconfdir is etc,
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe httpd-std.conf points to conf.)
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe * If any request gets through ap_process_request_internal() and is
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe scheduled to be served by the core handler, without a flag that this
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe r->filename was tested by dir/file_walk, we need to 500 at the very
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe end of the ap_process_request_internal() processing so sub_req-esters
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe know this request cannot be run. This provides authors of older
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe modules better compatibility, while still improving the security and
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe robustness of 2.0.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe Status: still need to decide where this goes, OtherBill comments...
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe Message-ID: <065701c14526$495203b0$96c0b0d0@roweclan.net>
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe [Deleted comments regarding the ap_run_handler phase, as irrelevant
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe as BillS points out that "common case will be caught in
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe default_handler already (with the r->finfo.filetype == 0 check)"
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe and the issue is detecting this -before- we try to run the req.]
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe gregames says: can this happen somehow without a broken module
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe being involved? If not, why waste cycles trying to defend against
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe potential broken modules? It seems futile.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe wrowe counters: no, it shouldn't happen unless the module is broken.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe But the right answer is to fail the request up-front in dir/file
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe walk if the path was entirely invalid; and we can't do that either
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe UNTIL 2.1 or we break modules that haven't hooked map_to_storage.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe * Can a static httpd be built reliably?
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe Message-ID: <20020207142751.T31582@clove.org>
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe * Usage of APR_BRIGADE_NORMALIZE in core_input_filter should be
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe removed if possible.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe Message-ID:
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe <Pine.LNX.4.33.0201202232430.318-100000@deepthought.cs.virginia.edu>
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe Jeff wonders if we still care about this. It is no longer an
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe API issue but simply an extra trip through the brigade.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe * Try to get libtool inter-library dependency code working on AIX.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe Message-ID: <cm3n10lx555.fsf@rdu163-40-092.nc.rr.com>
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe Justin says: If we get it working on AIX, we can enable this
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe on all platforms and clean up our build system somewhat.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe Jeff says: I thought I tested a patch for you sometime in
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe January that you were going to commit within a few days.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe * Handling of %2f in URIs. Currently both 1.3 and 2.0
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe completely disallow %2f in the request URI path (see
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe ap_unescape_url() in util.c). It's permitted and passed
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe through in the query string, however. Roy says the
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe original reason for disallowing it, from five years ago,
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe was to protect CGI scripts that applied PATH_INFO to
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe a filesystem location and which might be tricked by
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe ..%2f..%2f(...). We *should* allow path-info of the
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe form 'http://foo.com/index.cgi/path/to/path%2finfo'.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe Since we've revamped a lot of our processing of path
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe segments, it would be nice to allow this, or at least
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe allow it conditionally with a directive.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe OtherBill adds that %2f as the SECOND character of a multibyte
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe sequence causes the request to fail! This happens notably in
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe the ja-jis encoding.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe * There is increasing demand from module writers for an API
828333c93c6c11a4b46154302515e35cc6982f12sctemme that will allow them to control the server à la apachectl.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe Reasons include sole-function servers that need to die if
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe an external dependency (e.g., a database) fails, et cetera.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe Perhaps something in the (ever more abused) scoreboard?
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe On the other hand, we already have a pipe that goes between parent
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe and child for graceful shutdown events, along with an API that
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe can be used to send a message down that pipe. In threaded MPMs,
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe it is easy enough to make that one pipe be used for graceful
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe and graceless events, and it is also easy to open that pipe
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe to both parent and child for writing. Then we just need to
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe figure out how to do graceless on non-threaded MPMs.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe * Allow the DocumentRoot directive within <Location > scopes? This
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe allows the beloved (crusty) Alias /foo/ /somepath/foo/ followed
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe by a <Directory /somepath/foo> to become simply
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe <Location /foo/> DocumentRoot /somefile/foo (IMHO a bit more legible
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe and in-your-face.) DocumentRoot unset would be accepted [and would
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe not permit content to be served, only virtual resources such as
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe server-info or server-status.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe This proposed change would _not_ depricate Alias.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe striker: See the thread starting with Message-ID:
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe JLEGKKNELMHCJPNMOKHOGEEJFBAA.striker@apache.org.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe * Win32: Rotatelogs sometimes is not terminated when Apache
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe goes down hard. FirstBill was looking at possibly tracking the
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe child's-child processes in the parent process.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe stoddard: Shared scoreboard might offer a good way for the parent
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe to keep track of 'other child' processes and whack them if the child
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe goes down.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe Other thoughts on walking the process chain using the NT kernel
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe have also been proposed on APR.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe * Eliminate unnecessary creation of pipes in mod_cgid
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe * Combine log_child and piped_log_spawn. Clean up http_log.c.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe Common logging API.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe * Platforms that do not support fork (primarily Win32 and AS/400)
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe Architect start-up code that avoids initializing all the modules
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe in the parent process on platforms that do not support fork.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe * There are still a number of places in the code where we are
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe losing error status (i.e. throwing away the error returned by a
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe system call and replacing it with a generic error code)
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe * Mass vhosting version of suEXEC.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe * All DBMs suffer from confusion in support/dbmmanage (perl script) since
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe the dbmmanage employs the first-matched dbm format. This is not
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe necessarily the library that Apache was built with. Aught to
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe rewrite dbmmanage upon installation to bin/ with the proper library
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe for predictable mod_auth_dbm administration.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe Questions; htdbm exists, time to kill dbmmanage, or does it remain
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe useful as a perl dbm management example? If we keep it,
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe do we address the issue above?
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe * Integrate mod_dav.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe Some additional items remaining:
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe - case_preserved_filename stuff
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe (use the new canonical name stuff?)
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe - find a new home for ap_text(_header)
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe - is it possible to remove the DAV: namespace stuff from util_xml?
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe * ap_core_translate() and its use by mod_mmap_static and mod_file_cache
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe are a bit wonky. The function should probably be exposed as a utility
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe function (such as ap_translate_url2fs() or ap_validate_fs_url() or
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe something). Another approach would be a new hook phase after
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe "translate" which would allow the module to munge what the
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe translation has decided to do.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe Status: Greg +1 (volunteers)
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe * Explore use of a post-config hook for the code in http_main.c which
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe calls ap_fixup_virutal_hosts(), ap_fini_vhost_config(), and
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe ap_sort_hooks() [to reduce the logic in main()]
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe * read the config tree just once, and process N times (as necessary)
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe * (possibly) use UUIDs in mod_unique_id and/or mod_usertrack
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe * (possibly) port the bug fix for PR 6942 (segv when LoadModule is put
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe into a VirtualHost container) to 2.0.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe * shift stuff to mod_core.h
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe * callers of ap_run_create_request() should check the return value
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe for failure (Doug volunteers)
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe * Fix the worker MPM to use POD to kill child processes instead
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe of ap_os_killpg, regardless of how they should die.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe chrisd: Is this done, by any chance? See r92598 and r93358.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe * Scoreboard structures could be changed in the future such that
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe proper alignment is not maintained, leading to segfaults on
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe some systems. Cliff posted a patch to deal with this issue but
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe later recanted. See this message to dev@apr.apache.org:
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe Message-ID:
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe <Pine.LNX.4.44.0203011354090.16457-200000@deepthought.cs.virginia.edu>
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe * APXS either needs to be fixed completely for use when apr is out of tree,
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe or it should drop query mode altogether, and we just grow an
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe httpd-config or similar arrangement.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe To quote a discussion in STATUS earlier:
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe thommay: this doesn't fix all the problems with apxs and out of
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe tree apr/apr-util, but it's a good start. There's still the
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe query cases; but I'm beginning to think that in these cases
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe the app should be querying ap{r,u}-config directly
bce58f79020e39e5ac5de398fe08b4f8a1e19970pgollucci deprecate -q: add htpd-config: gstein, pquerna, minfrin, pgollucci
bce58f79020e39e5ac5de398fe08b4f8a1e19970pgollucci other:
62f7716b14b71603a8004434ca3536902bfb8899wrowe
28c4fe67d75f8f26504d75b7aa8dc5d868032888wroweTODO ISSUES REMAINING IN MOD_SSL:
28c4fe67d75f8f26504d75b7aa8dc5d868032888wrowe
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe * SSLRequire directive (parsing of) leaks memory
28c4fe67d75f8f26504d75b7aa8dc5d868032888wrowe
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe * ssl_var_lookup could be rewritten to be MUCH faster
28c4fe67d75f8f26504d75b7aa8dc5d868032888wrowe
afbd720d176856630fed7c6576cdd3ae25a407edstoddardWISH LIST
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe * mod_proxy: Ability to run SSL over proxy gateway connections,
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe encrypting (or reencrypting) at the proxy.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe * mod_cache: Handle ESI tags.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe
820e91baab4f9a45001d668698d2fae3501cb4b0trawick * mod_cache: Resolve issue of how to cache page fragments (or perhaps
820e91baab4f9a45001d668698d2fae3501cb4b0trawick -if- we want to cache page fragments). Today, mod_cache/mod_mem_cache
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe will cache #include 'virtual' requests (but not #include 'file'
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe requests). This was accomplished by making CACHE_IN a
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe CONTENT_SET-1 filter to force it to run before the SUBREQ_CORE
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe filter. But now responses cannot be cached that include the
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe effects of having been run through CONTENT_SET filters
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe (mod_deflate, mod_expires, etc). We could rerun all the
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe CONTENT_SET filters on the cached response, but this will not
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe work in all cases. For example, mod_expires relies on installing
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe the EXPIRATION filter during fixups. Contents served out of
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe mod_cache (out of the quick_handler) bypass -all- the request
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe line server hooks (Ryan really hated this. It is great for
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe performance, but bad because of the complications listed above).
ddd44b06b04507cae083c52451e28f54f0bdb5afstoddard
3a86b95ac291f1af18df0ca2bd6d51c8b35f1241rjung mod_cache/mod_mem_cache/mod_cache_disk:
ddd44b06b04507cae083c52451e28f54f0bdb5afstoddard
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe * mod_mem_cache: Consider adding a RevalidateTimeout directive to
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe specify time at which local cached content is to be revalidated
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe (ie, underlying file stat'ed to see if it has changed).
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe
3a86b95ac291f1af18df0ca2bd6d51c8b35f1241rjung * mod_mem_cache/mod_cache_disk: Need to be able to query cache
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe status (num of entries, cache object properties, etc.).
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe mod_status could be extended to query optional hooks defined
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe by modules for the purpose of reporting module status.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe mod_cache (et. al.) could define optional hooks that are called
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe to collect status. Status should be queryable by
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe HTTP or SNMP?
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe jerenkrantz says: Yawn. Who cares.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe * Regex containers don't work in an intutive way
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe Status: No one has come up with an efficient way to fix this
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe behavior. Dean has suggested getting rid of regex containers
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe completely.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe OtherBill suggests: We at least seem to agree on eliminating
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe the <Container ~ foo> forms, and using only
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe <ContainerMatch foo> semantics.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe * orig_ct in the byterange/multipart handling may not be
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe needed. Apache 1.3 just never stashed "multipart" into
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe r->content_type. We should probably follow suit since the
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe byterange stuff doesn't want the rest of the code to see the
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe multipart content-type; the other code should still think it is
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe dealing with the <orig_ct> stuff.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe Status: Greg volunteers to investigate (esp. since he was most
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe likely the one to break it :-)
ec0315cdf832eac2b78e50ad636af84fe4c9118cgstein
62f7716b14b71603a8004434ca3536902bfb8899wroweEXPERIMENTAL MODULES:
62f7716b14b71603a8004434ca3536902bfb8899wrowe
62f7716b14b71603a8004434ca3536902bfb8899wrowe Experimental modules should eventually be be promoted to fully supported
62f7716b14b71603a8004434ca3536902bfb8899wrowe status or removed from the repository entirely (ie, the
62f7716b14b71603a8004434ca3536902bfb8899wrowe 'experiment' failed). This section tracks what needs to happen to
62f7716b14b71603a8004434ca3536902bfb8899wrowe get the modules promoted to fully supported status.
62f7716b14b71603a8004434ca3536902bfb8899wrowe
56a6298c5ab82b51c3d6bbda9ec33ca5f1569a7fpquerna