STATUS revision 75f8e1cae5ca3a16a7400cdddf604815ab06b5a8
38dc50ae00a1ea57fa41500d74f4e818747e3cefpquernaAPACHE 2.0 STATUS: -*-text-*-
7d5ac94fda90b837211dadf2585c0fe8c5dc3e5djerenkrantzLast modified at [$Date: 2002/11/08 22:42:18 $]
366616a5cc6212cbf7134ccf877f965d668c6b04wrowe 2.0.44 : in development
366616a5cc6212cbf7134ccf877f965d668c6b04wrowe 2.0.43 : released October 3, 2002 as GA.
366616a5cc6212cbf7134ccf877f965d668c6b04wrowe 2.0.42 : released September 24, 2002 as GA.
366616a5cc6212cbf7134ccf877f965d668c6b04wrowe 2.0.41 : rolled September 16, 2002. not released.
366616a5cc6212cbf7134ccf877f965d668c6b04wrowe 2.0.40 : released August 9, 2002 as GA.
366616a5cc6212cbf7134ccf877f965d668c6b04wrowe 2.0.39 : released June 17, 2002 as GA.
366616a5cc6212cbf7134ccf877f965d668c6b04wrowe 2.0.38 : rolled June 16, 2002. not released.
366616a5cc6212cbf7134ccf877f965d668c6b04wrowe 2.0.37 : rolled June 11, 2002. not released.
366616a5cc6212cbf7134ccf877f965d668c6b04wrowe 2.0.36 : released May 6, 2002 as GA.
366616a5cc6212cbf7134ccf877f965d668c6b04wrowe 2.0.35 : released April 5, 2002 as GA.
366616a5cc6212cbf7134ccf877f965d668c6b04wrowe 2.0.34 : tagged March 26, 2002.
366616a5cc6212cbf7134ccf877f965d668c6b04wrowe 2.0.33 : tagged March 6, 2002. not released.
366616a5cc6212cbf7134ccf877f965d668c6b04wrowe 2.0.32 : released Feburary 16, 2002 as beta.
366616a5cc6212cbf7134ccf877f965d668c6b04wrowe 2.0.31 : rolled Feburary 1, 2002. not released.
366616a5cc6212cbf7134ccf877f965d668c6b04wrowe 2.0.30 : tagged January 8, 2002. not rolled.
366616a5cc6212cbf7134ccf877f965d668c6b04wrowe 2.0.29 : tagged November 27, 2001. not rolled.
38dc50ae00a1ea57fa41500d74f4e818747e3cefpquerna 2.0.28 : released November 13, 2001 as beta.
366616a5cc6212cbf7134ccf877f965d668c6b04wrowe 2.0.27 : rolled November 6, 2001
ecf8d72af432e53e4c0661fb99dfda8061507bfajerenkrantz 2.0.26 : tagged October 16, 2001. not rolled.
ecf8d72af432e53e4c0661fb99dfda8061507bfajerenkrantz 2.0.25 : rolled August 29, 2001
80464b326874ee15d74742ae39708ec3f2eae1d7wrowe 2.0.24 : rolled August 18, 2001
80464b326874ee15d74742ae39708ec3f2eae1d7wrowe 2.0.23 : rolled August 9, 2001
38dc50ae00a1ea57fa41500d74f4e818747e3cefpquerna 2.0.22 : rolled July 29, 2001
5eb27f5ecb5daa4252c36cf6f049a2058ebe7bd6jim 2.0.21 : rolled July 20, 2001
5eb27f5ecb5daa4252c36cf6f049a2058ebe7bd6jim 2.0.20 : rolled July 8, 2001
53e66a2931d02e84628ba946055cc92e56b43db8wrowe 2.0.19 : rolled June 27, 2001
53e66a2931d02e84628ba946055cc92e56b43db8wrowe 2.0.18 : rolled May 18, 2001
cd365a1ad6798c1faef19b445c00ae97eb94a234pquerna 2.0.17 : rolled April 17, 2001
6507aa1a5709a9122f2e0b9be8bb9bd6d78715c3pquerna 2.0.16 : rolled April 4, 2001
6507aa1a5709a9122f2e0b9be8bb9bd6d78715c3pquerna 2.0.15 : rolled March 21, 2001
b6c98ce4a43f123af0a691fd7b833efcf0ce1d6apquerna 2.0.14 : rolled March 7, 2001
af4c982a7cf4515f124935f99a329744035fc699slive 2.0a9 : released December 12, 2000
f610c7c704235bc327dbe9b62982f5b3f8e30a77wrowe 2.0a8 : released November 20, 2000
f610c7c704235bc327dbe9b62982f5b3f8e30a77wrowe 2.0a7 : released October 8, 2000
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe 2.0a6 : released August 18, 2000
d96ee8cda2799e1f2743c1603adeb4833ed0e15fslive 2.0a5 : released August 4, 2000
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe 2.0a4 : released June 7, 2000
ecf8d72af432e53e4c0661fb99dfda8061507bfajerenkrantz 2.0a3 : released April 28, 2000
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe 2.0a2 : released March 31, 2000
ecf8d72af432e53e4c0661fb99dfda8061507bfajerenkrantz 2.0a1 : released March 10, 2000
ecf8d72af432e53e4c0661fb99dfda8061507bfajerenkrantzPlease consult the following STATUS files for information
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewroweon related projects:
5ca8e11fadb6f7a8d9d0367c1800205c99d4bcd6jerenkrantzContributors looking for a mission:
45b0e1c775c1cfed6473c9e5304179ccb9609f53stoddard * just do an egrep on "TODO" and see what's there
a74ee4396fe11ffc1ca05837a59e497c905eedc3sfCURRENT RELEASE NOTES:
a74ee4396fe11ffc1ca05837a59e497c905eedc3sfRELEASE SHOWSTOPPERS:
027152d4123d6398caff068774c3b1e36caaa76asfCURRENT VOTES:
027152d4123d6398caff068774c3b1e36caaa76asf * Adopt backwards compatibility for future Apache 2.0 releases
027152d4123d6398caff068774c3b1e36caaa76asf such that MMN major number changes and eliminating non-experimental
cdccf2ac94172d1a4a54bc2e17324e1ef682ccf3pquerna modules are deferred for the next minor version bump (e.g. 2.1, 2.2
a28e3e624e7a5673405fe03868ed073b1ab37f8ejim +1: wrowe, jerenkrantz, aaron, brianp, trawick, stoddard, jwoolley,
a28e3e624e7a5673405fe03868ed073b1ab37f8ejim rbowen, rederpj
0159c6b21da30efd205dc52a9975811591beab3ejorton * Defer the Auth module overhaul to the next minor version bump
0159c6b21da30efd205dc52a9975811591beab3ejorton (e.g. 2.1, 2.2, 3.0) on the condition that forward compatibility
c4874af25ef70f64a75f3fb74d1523de1ccff459sf resolution is adopted.
c4874af25ef70f64a75f3fb74d1523de1ccff459sf +1: wrowe, aaron, trawick, stoddard, jwoolley, rbowen, gregames,
c4874af25ef70f64a75f3fb74d1523de1ccff459sf 0: jerenkrantz
a74ee4396fe11ffc1ca05837a59e497c905eedc3sf * Adopt an even/odd release paradigm (see VERSIONING) such that
a74ee4396fe11ffc1ca05837a59e497c905eedc3sf even numbered releases are stable, and odd numbered releases
a74ee4396fe11ffc1ca05837a59e497c905eedc3sf are development efforts, keeping in the tradition of Linux,
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe Perl, etc. In pratical terms, this implies C-T-R-T-C, where
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe patches are (generally) first applied to the development branch,
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe tested, and then (after vote) applied to the stable branch.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe +1: wrowe, jerenkrantz, aaron, trawick, stoddard, jwoolley, rbowen,
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe gregames, rederpj
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe * Branch APACHE_2_0_BRANCH today, changing the version in CVS HEAD
0db0abcbe4211435c08e0c0e8f5daa278bed3524wsanchez to 2.1.0-dev.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe +1 [from APACHE_2_0_43]: wrowe, aaron, trawick, stoddard, jwoolley,
0db0abcbe4211435c08e0c0e8f5daa278bed3524wsanchez gregames, rederpj
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe +1 [from HEAD]:
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe 0: jerenkrantz
f4cb04eb78da02a38fcdd87489dc7b660107d55fjerenkrantz a) httpd-std.conf should be tailored by install (from src or
f4cb04eb78da02a38fcdd87489dc7b660107d55fjerenkrantz binbuild) even if user has existing httpd.conf
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe +1: trawick, slive, gregames, ianh, Ken, wrowe, jwoolley
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe wrowe - prefer httpd.default.conf to avoid ambiguity with cvs
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe b) tailored httpd-std.conf should be copied by install to
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe c) tailored httpd-std.conf should be installed to
38d2c5d41cdb5eb28668d0290b59f8c76ae2a4bfjim +1: slive, trawick, Ken
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe d) Installing a set of default config files when upgrading a server
bce58f79020e39e5ac5de398fe08b4f8a1e19970pgollucci doesn't make ANY sense at all.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe +1: striker
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe ianh - medium/big sites don't use 'standard config' anyway, as it
f4cb04eb78da02a38fcdd87489dc7b660107d55fjerenkrantz usually needs major customizations
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe -1: Ken, wrowe, jwoolley
bce58f79020e39e5ac5de398fe08b4f8a1e19970pgollucci wrowe - diff is wonderful when comparing old/new default configs,
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe even for customized sites that ianh mentions
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe * If the parent process dies, should the remaining child processes
f4cb04eb78da02a38fcdd87489dc7b660107d55fjerenkrantz "gracefully" self-terminate. Or maybe we should make it a runtime
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe option, or have a concept of 2 parent processes (one being a
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe "hot spare").
62f7716b14b71603a8004434ca3536902bfb8899wrowe See: Message-ID: <3C58232C.FE91F19F@Golux.Com>
53e66a2931d02e84628ba946055cc92e56b43db8wrowe Self-destruct: Ken, Martin
53e66a2931d02e84628ba946055cc92e56b43db8wrowe Not self-destruct: BrianP, Ian, Cliff, BillS
53e66a2931d02e84628ba946055cc92e56b43db8wrowe Make it runtime configurable: Aaron, Jim, Justin, wrowe, rederpj
53e66a2931d02e84628ba946055cc92e56b43db8wrowe Have 2 parents: +1: Jim
1b3f48fd6b1ccb8745f908e40156c5a85ca3c347jerenkrantz -1: Justin, wrowe, rederpj
b05930e6008f69bd323abe0c10f81f40ffd27983brianp +0: Martin (while standing by, could it do
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe something useful?)
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe * Make the worker MPM the default MPM for threaded Unix boxes.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe +1: Justin, Ian, Cliff, BillS, striker, wrowe
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe +0: BrianP, Aaron (mutex contention is looking better with the
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe latest code, let's continue tuning and testing), rederpj
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewroweRELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe * There is a bug in how we sort some hooks, at least the pre-config
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe hook. The first time we call the hooks, they are in the correct
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe order, but the second time, we don't sort them correctly. Currently,
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe the modules/http/config.m4 file has been renamed to
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe modules/http/config2.m4 to work around this problem, it should moved
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe back when this is fixed.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe OtherBill offers that this is a SERIOUS problem. We do not sort
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe correctly by the ordering arguments passed to the register hook
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe functions. This was proven when I reordered the open_logs hook
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe to attempt to open the error logs prior to the access logs. Possibly
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe the entire sorting code needs to be refactored.
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".
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 * HP/UX 10.20: compile breakage in APR. Looks like it should be easy
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe to fix, probably just some extraneous #include's that are fouling
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe Jeff: See my reply and patch in the PR (and previous commit to
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe stop using "pipe" as a field name). If patch is committed, we
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe should be okay. I'll wait to see if the user tests the patch.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe Update by Jeff 20020722: I got an account on HP 10.20. It looks
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe like some of the APR thread detection is screwed up. If we find
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe pthread.h but we can't compile the pthread test program we still
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe think we can use threads. For that reason, the patch I posted
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe to the PR won't work as-is since a failed compile of the test
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe program means nothing.
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 * 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 * --enable-mods-shared="foo1 foo2" is busted on Darwin. Pier
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe posted a patch (Message-ID: <B8DBBE8D.575A%pier@betaversion.org>).
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 * 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 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 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 * Rewrite core_output_filter. It is nearly impossible to support
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe it with predictable results as it is implemented now.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe * With AP_MODE_EXHAUSTIVE in the core, it is finally clear to me
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe how the Perchild MPM should be re-written. It hasn't worked
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe correctly since filters were added because it wasn't possible to
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe get the content that had already been written and the socket at
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe the same time. This mode lets us do that, so the MPM can be
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe * htpasswd blindly processes the file you give it, and does no
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe sanity checking before totally corrupting whatever file it was
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe you thought you had. It should check the input file and bail
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe if it finds non-comment lines that do not contain exactly 1
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe ':' character.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe Message-ID: <20020217150457.A31632@clove.org>
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe * Can a static httpd be built reliably?
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe Message-ID: <20020207142751.T31582@clove.org>
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe * [Ken] Test suite failures:
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe o worker is also failing some of the 'cgi' subtests
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe (see <URL:http://Source-Zone.Org/Apache/regression/>):
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe Justin says: "Worker should be fine and passes httpd-test here.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe I think it's a perl or a httpd-test problem."
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe * Usage of APR_BRIGADE_NORMALIZE in core_input_filter should be
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe removed if possible.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe Message-ID: <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 * The Add...Filter and Set...Filter directives do not allow the
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe administrator to order filters, beyond the order of filename (mime)
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe extensions. It isn't clear if Set...Filter(s) should be inserted
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe before or after the Add...Filter(s) which are ordered by sequence of
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe filename extensions. At minimum, some sort of +-[0-10] syntax seems
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe like a nice solution. See ROADMAP.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe * Get perchild to work on platforms other than Linux. This
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe will require a portable mechanism to pass data and file/socket
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe descriptors between vhost child groups. An API was proposed
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe on dev@apr:
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe Message-ID: <20020111115006.K1529@clove.org>
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe * Try to get libtool inter-library dependency code working on AIX.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe Message-ID: <cm3n10lx555.fsf@rdu163-40-092.nc.rr.com>
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe Justin says: If we get it working on AIX, we can enable this
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe on all platforms and clean up our build system
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe Jeff says: I thought I tested a patch for you sometime in
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe January that you were going to commit within a few
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 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 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 * FreeBSD, threads, and worker MPM. All seems to work fine
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe if you only have one worker process with many threads. Add
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe a second worker process and the accept lock seems to be
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe lost. This might be an APR issue with how it deals with
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe the child_init hook (i.e. the fcntl lock needs to be resynced).
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe More examination and analysis is required.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe Status: This has also been reported on Cygwin.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe Message-ID: <3C2CC514.8EF3BED1@wapme-systems.de> (cygnus)
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe Aaron says: I spent some time disecting this and have come to
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe the conclusion that it is not a problem in the worker MPM
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe (or at least, it is not isolated to a problem in worker).
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe I'll list some of the problems I'm seeing in case someone
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe else wants to pick up where I've left off:
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe - Delivery of just about any signal to one of the child
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe processes will send it into an infinite loop as well.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe - Even though the parent is spinning out of control,
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe at first the child or children will appear to work
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe properly. At times it is possible to get it into a state,
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe however, where a request will hang until another concurrent
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe request "kicks" the first, at which point the second will
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe hang. My theory is that this has to do with the
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe pthread_cond_*() implementation in FreeBSD, but it's still
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe possible that it is in APR.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe Justin adds: Oh, FreeBSD threads are implemented entirely with
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe select()/poll()/longjmp(). Welcome to the nightmare.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe So, that means a ktrace output also has the thread
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe scheduling internals in it (since it is all the same to
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe the kernel). Which makes it hard to distinguish between
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe our select() calls and their select() calls.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe *bangs head on wall repeatedly* But, some of the libc_r
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe files have a DBG_MSG #define. This is moderately helpful
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe when used with -DNO_DETACH. The kernel scheduler isn't
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe waking up the threads on a select(). Yum. And, I bet
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe those decrementing select calls have to do with the
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe scheduler. Time to brush up on our OS fundamentals.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe * There is increasing demand from module writers for an API
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe 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 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 * 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 * 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 Other thoughts on walking the process chain using the NT kernel
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe have also been proposed on APR.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe * Eliminate unnecessary creation of pipes in mod_cgid
bce58f79020e39e5ac5de398fe08b4f8a1e19970pgollucci * Combine log_child and piped_log_spawn. Clean up http_log.c.
62f7716b14b71603a8004434ca3536902bfb8899wrowe Common logging API.
28c4fe67d75f8f26504d75b7aa8dc5d868032888wrowe * Document mod_file_cache.
28c4fe67d75f8f26504d75b7aa8dc5d868032888wrowe * 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 * Win32: Migrate the MPM over to use APR thread/process calls. This
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe would eliminate some code in the Win32 branch that essentially
28c4fe67d75f8f26504d75b7aa8dc5d868032888wrowe duplicates what is in APR.
28c4fe67d75f8f26504d75b7aa8dc5d868032888wrowe * 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 * Mass vhosting version of suEXEC.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe * All DBMs suffer from confusion in support/dbmmanage (perl script) since
28c4fe67d75f8f26504d75b7aa8dc5d868032888wrowe the dbmmanage employs the first-matched dbm format. This is not
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe necessarily the library that Apache was built with. Aught to
28c4fe67d75f8f26504d75b7aa8dc5d868032888wrowe rewrite dbmmanage upon installation to bin/ with the proper library
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe for predictable mod_auth_dbm administration.
28c4fe67d75f8f26504d75b7aa8dc5d868032888wrowe Questions; htdbm exists, time to kill dbmmanage, or does it remain
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe useful as a perl dbm management example? If we keep it,
28c4fe67d75f8f26504d75b7aa8dc5d868032888wrowe do we address the issue above?
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe * Integrate mod_dav.
28c4fe67d75f8f26504d75b7aa8dc5d868032888wrowe Some additional items remaining:
bce58f79020e39e5ac5de398fe08b4f8a1e19970pgollucci - case_preserved_filename stuff
bce58f79020e39e5ac5de398fe08b4f8a1e19970pgollucci (use the new canonical name stuff?)
afbd720d176856630fed7c6576cdd3ae25a407edstoddard - find a new home for ap_text(_header)
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe - is it possible to remove the DAV: namespace stuff from util_xml?
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
820e91baab4f9a45001d668698d2fae3501cb4b0trawick something). Another approach would be a new hook phase after
820e91baab4f9a45001d668698d2fae3501cb4b0trawick "translate" which would allow the module to munge what the
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe translation has decided to do.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe Status: Greg +1 (volunteers)
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 * read the config tree just once, and process N times (as necessary)
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe * (possibly) use UUIDs in mod_unique_id and/or mod_usertrack
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe * (possibly) port the bug fix for PR 6942 (segv when LoadModule is put
ddd44b06b04507cae083c52451e28f54f0bdb5afstoddard into a VirtualHost container) to 2.0.
ddd44b06b04507cae083c52451e28f54f0bdb5afstoddard * shift stuff to mod_core.h
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe * callers of ap_run_create_request() should check the return value
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe for failure (Doug volunteers)
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe * Win32: Get Apache working on Windows 95/98. The following work
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe (at least) needs to be done:
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe - Document warning that OSR2 is required (for Crypt functions, in
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe rand.c, at least.) This could be resolved with an SSL library, or
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe randomization in APR itself.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe - Bring the Win9xConHook.dll from 1.3 into 2.0 (no sense till it
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe actually works) and add in a splash of Win9x service code.
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 * 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: <Pine.LNX.4.44.0203011354090.16457-200000@deepthought
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewroweTODO ISSUES REMAINING IN MOD_SSL:
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe * In order to use a DSO version of mod_ssl we have to link with
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe -lssl and -lcrypto. A workaround is in place right now where the
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe entire EXTRA_LIBS macro is being appended to the objects list, but
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe this is a hack. We should either revamp the APACHE_CHECK_SSL_TOOLKIT
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe autoconf function or come up with some other autoconf checks to
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe search for libssl and libcrypto and properly add them to mod_ssl's
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe link flags.
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe * SSL renegotiations in combination with POST request
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe * Port or dispose all code inside #if 0...#endif blocks that remain
9e86ff266f053757dd96dab7cf4bc53aaaaa583ewrowe from the porting effort.
ec0315cdf832eac2b78e50ad636af84fe4c9118cgstein * Do we need SSL_set_read_ahead()?
62f7716b14b71603a8004434ca3536902bfb8899wrowe * the ssl_expr api is NOT THREAD SAFE. race conditions exist:
62f7716b14b71603a8004434ca3536902bfb8899wrowe -in ssl_expr_comp() if SSLRequire is used in .htaccess
62f7716b14b71603a8004434ca3536902bfb8899wrowe (ssl_expr_info is global)
62f7716b14b71603a8004434ca3536902bfb8899wrowe -is ssl_expr_eval() if there is an error
62f7716b14b71603a8004434ca3536902bfb8899wrowe (ssl_expr_error is global)
a4df8c8588530488beecdd78627774352cfd989dpgollucci * SSLRequire directive (parsing of) leaks memory
* ssl_engine_pphrase.c needs to be reworked so it is generic enough
* mod_cache: CacheEnable/CacheDisable should accept regular expressions.
* mod_mem_cache/mod_disk_cache: Need to be able to query cache
* Enable mod_cache/mod_mem_cache/mod_disk_cache to handle
* mod_mem_cache/mod_disk_cache: Complete implementing config
* implement cross-platform/cross-library TLS support
PR#1191: setlogin() is not called, causing problems with e.g. identd
PR#1287: add allow,deny/deny,allow warning to mod_access
PR#1117: Using NIS passwd.byname dbm files with AuthDBMUserFile
PR#2873: Feedback/Comment on APACI
PR#2431: A small addition to rotatelogs.c to improve program functionality.
PR#2889: Inclusion of RPM spec file in CVS/distributions
* orig_ct in the byterange/multipart handling may not be