STATUS revision 6f1e2a1eb9944358dc96ee52f2048377c57f1cfa
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankgAPACHE 2.0 STATUS: -*-text-*-
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankgLast modified at [$Date: 2002/04/25 17:29:19 $]
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankg 2.0.35 : released April 5, 2002 as GA.
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankg 2.0.34 : tagged March 26, 2002.
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankg 2.0.33 : tagged March 6, 2002. not released.
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankg 2.0.32 : released Feburary 16, 2002 as beta.
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankg 2.0.31 : rolled Feburary 1, 2002. not released.
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankg 2.0.30 : tagged January 8, 2002. not rolled.
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankg 2.0.29 : tagged November 27, 2001. not rolled.
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankg 2.0.28 : released November 13, 2001 as beta.
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankg 2.0.27 : rolled November 6, 2001
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankg 2.0.26 : tagged October 16, 2001. not rolled.
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankg 2.0.25 : rolled August 29, 2001
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankg 2.0.24 : rolled August 18, 2001
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankg 2.0.23 : rolled August 9, 2001
7190e58eec40192c9719d2f2593471eda14e7e7cfuankg 2.0.22 : rolled July 29, 2001
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankg 2.0.21 : rolled July 20, 2001
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankg 2.0.20 : rolled July 8, 2001
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankg 2.0.19 : rolled June 27, 2001
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankg 2.0.18 : rolled May 18, 2001
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankg 2.0.17 : rolled April 17, 2001
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankg 2.0.16 : rolled April 4, 2001
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankg 2.0.15 : rolled March 21, 2001
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankg 2.0.14 : rolled March 7, 2001
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankg 2.0a9 : released December 12, 2000
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankg 2.0a8 : released November 20, 2000
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankg 2.0a7 : released October 8, 2000
95ca7cc2aa11b41497ffab3a1003bc09d24b6bc1fuankg 2.0a6 : released August 18, 2000
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes 2.0a5 : released August 4, 2000
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes 2.0a4 : released June 7, 2000
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes 2.0a3 : released April 28, 2000
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes 2.0a2 : released March 31, 2000
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes 2.0a1 : released March 10, 2000
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesPlease consult the following STATUS files for information
bb2b38cd44b032118359afbc743efbea12f48e61bnicholeson related projects:
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesCURRENT RELEASE NOTES:
0662ed52e814f8f08ef0e09956413a792584eddffuankg * 36 status:
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesRELEASE SHOWSTOPPERS:
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * worker MPM segfaults because the apr_bucket_alloc_t is cleaned
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesCURRENT VOTES:
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * Should we always build [support*] binaries statically unless otherwise
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Message-ID: <20020129210006.B23512@Lithium.MeepZor.Com>
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes +1: Ken, *wrowe [they are PITAs on OSX]
70953fb44a7140fe206c3a5f011e24209c8c5c6abnicholes -1: Justin, Ian
8d6e239d0e0aa0593fd93b4fef193d8c51b61b3cfuankg * If the parent process dies, should the remaining child processes
b387b9d37fc71c534f4718777454a8f5a1169017fuankg "gracefully" self-terminate. Or maybe we should make it a runtime
b387b9d37fc71c534f4718777454a8f5a1169017fuankg option, or have a concept of 2 parent processes (one being a
b387b9d37fc71c534f4718777454a8f5a1169017fuankg "hot spare").
b387b9d37fc71c534f4718777454a8f5a1169017fuankg See: Message-ID: <3C58232C.FE91F19F@Golux.Com>
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Self-destruct: Ken, Martin
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Not self-destruct: BrianP, Ian, Cliff, BillS
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Make it runtime configurable: Aaron, Jim, Justin
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Have 2 parents: +1: Jim
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes -1: Justin, wrowe [for 2.0]
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes +0: Martin (while standing by, could it do
8492a2583e10c69f40de92f9d5da884b64d9f379fuankg something useful?)
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * Make the worker MPM the default MPM for threaded Unix boxes.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes +1: Justin, Ian, Cliff, BillS
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes -1: Aaron (premature decision, needs more discussion and bug fixes)
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesRELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * Incorrect Content-Range headers or invalid 416 HTTP responses
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes if a filter such as INCLUDES changes the content length. It may
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes happen only when there are multiple output brigades.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * --enable-mods-shared="foo1 foo2" is busted on Darwin. Pier
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes posted a patch (Message-ID: <B8DBBE8D.575A%pier@betaversion.org>).
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * We do not properly substitute the prefix-variables in the configuration
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes scripts or generated-configs. (i.e. if sysconfdir is etc,
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes httpd-std.conf points to conf.)
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * If any request gets through ap_process_request_internal() and is
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes scheduled to be served by the core handler, without a flag that this
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes r->filename was tested by dir/file_walk, we need to 500 at the very
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes end of the ap_process_request_internal() processing so sub_req-esters
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes know this request cannot be run. This provides authors of older
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes modules better compatibility, while still improving the security and
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes robustness of 2.0.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Status: still need to decide where this goes, OtherBill comments...
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Message-ID: <065701c14526$495203b0$96c0b0d0@roweclan.net>
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg [Deleted comments regarding the ap_run_handler phase, as irrelevant
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes as BillS points out that "common case will be caught in
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes default_handler already (with the r->finfo.filetype == 0 check)"
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes and the issue is detecting this -before- we try to run the req.]
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes gregames says: can this happen somehow without a broken module
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes being involved? If not, why waste cycles trying to defend against
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes potential broken modules? It seems futile.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes wrowe counters: no, it shouldn't happen unless the module is broken.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes But the right answer is to fail the request up-front in dir/file
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes walk if the path was entirely invalid; and we can't do that either
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes or we break modules that are unwilling to hook map_to_storage.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * Rewrite core_output_filter. It is nearly impossible to support
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg it with predictable results as it is implemented now.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * Convert all instances of the old apr_lock_t type to the new
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * With AP_MODE_EXHAUSTIVE in the core, it is finally clear to me
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes how the Perchild MPM should be re-written. It hasn't worked
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes correctly since filters were added because it wasn't possible to
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes get the content that had already been written and the socket at
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes the same time. This mode lets us do that, so the MPM can be
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * htpasswd blindly processes the file you give it, and does no
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes sanity checking before totally corrupting whatever file it was
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes you thought you had. It should check the input file and bail
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes if it finds non-comment lines that do not contain exactly 1
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes ':' character.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Message-ID: <20020217150457.A31632@clove.org>
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * Can a static httpd be built reliably?
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Message-ID: <20020207142751.T31582@clove.org>
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg * [Ken] Test suite failures:
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes o worker is also failing some of the 'cgi' subtests
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes (see <URL:http://Source-Zone.Org/Apache/regression/>):
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg Justin says: "Worker should be fine and passes httpd-test here.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes If you can provide evidence that it can be reproduced
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes outside of httpd-test, then it's a showstopper. I
6c080a25f5991f40225209541c989d7e76c4a39dbnicholes think it's a perl or a httpd-test problem."
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Not a showstopper: Justin
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * Usage of APR_BRIGADE_NORMALIZE in core_input_filter should be
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes removed if possible.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Message-ID: <Pine.LNX.4.33.0201202232430.318-100000@deepthought.cs.virginia.edu>
41022996c916eb4ab2ec3204eb491b64779eb100bnicholes * There is a bug in how we sort some hooks, at least the pre-config
41022996c916eb4ab2ec3204eb491b64779eb100bnicholes hook. The first time we call the hooks, they are in the correct
41022996c916eb4ab2ec3204eb491b64779eb100bnicholes order, but the second time, we don't sort them correctly. Currently,
41022996c916eb4ab2ec3204eb491b64779eb100bnicholes the modules/http/config.m4 file has been renamed to
41022996c916eb4ab2ec3204eb491b64779eb100bnicholes modules/http/config2.m4 to work around this problem, it should moved
036436f4f4cdcd76186c0058891216545967043bbnicholes back when this is fixed. rbb
41022996c916eb4ab2ec3204eb491b64779eb100bnicholes Justin says: "Is this really a showstopper? This has been here
41022996c916eb4ab2ec3204eb491b64779eb100bnicholes forever. What's wrong? Does this have to do with
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes autoconf or m4?"
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg Not a showstopper: Justin, BrianP, trawick, gregames
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * The Add...Filter and Set...Filter directives do not allow the
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg administrator to order filters, beyond the order of filename (mime)
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes extensions. It isn't clear if Set...Filter(s) should be inserted
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes before or after the Add...Filter(s) which are ordered by sequence of
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes filename extensions. At minimum, some sort of +-[0-10] syntax seems
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes like the quickest fix for a 2.0 gold release.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Justin says: "Could we delay this for a point release or 2.1?"
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg Not a showstopper: justin, wrowe, trawick, stoddard, Jim, Ian, Aaron,
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * Get perchild to work on platforms other than Linux. This
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes will require a portable mechanism to pass data and file/socket
0662ed52e814f8f08ef0e09956413a792584eddffuankg descriptors between vhost child groups. An API was proposed
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Message-ID: <20020111115006.K1529@clove.org>
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * Try to get libtool inter-library dependency code working on AIX.
0662ed52e814f8f08ef0e09956413a792584eddffuankg Message-ID: <cm3n10lx555.fsf@rdu163-40-092.nc.rr.com>
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Justin says: If we get it working on AIX, we can enable this
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes on all platforms and clean up our build system
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Jeff says: I thought I tested a patch for you sometime in
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes January that you were going to commit within a few
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * Handling of %2f in URIs. Currently both 1.3 and 2.0
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg completely disallow %2f in the request URI path (see
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes ap_unescape_url() in util.c). It's permitted and passed
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes through in the query string, however. Roy says the
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg original reason for disallowing it, from five years ago,
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes was to protect CGI scripts that applied PATH_INFO to
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes a filesystem location and which might be tricked by
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes ..%2f..%2f(...). We *should* allow path-info of the
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Since we've revamped a lot of our processing of path
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes segments, it would be nice to allow this, or at least
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes allow it conditionally with a directive.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * FreeBSD, threads, and worker MPM. All seems to work fine
b387b9d37fc71c534f4718777454a8f5a1169017fuankg if you only have one worker process with many threads. Add
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes a second worker process and the accept lock seems to be
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes lost. This might be an APR issue with how it deals with
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes the child_init hook (i.e. the fcntl lock needs to be resynced).
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes More examination and analysis is required.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Status: This has also been reported on Cygwin.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Message-ID: <3C2CC514.8EF3BED1@wapme-systems.de> (cygnus)
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Justin says: So, FreeBSD-CURRENT and Cywin have the same
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes problem. Yum. If another platform has this
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes with worker, this becomes a showstopper.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Aaron says: I spent some time disecting this and have come to
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes the conclusion that it is not a problem in the worker MPM
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes (or at least, it is not isolated to a problem in worker).
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes I'll list some of the problems I'm seeing in case someone
d5ef50bb5810983012435957be0680bde34d1e44fuankg else wants to pick up where I've left off:
d5ef50bb5810983012435957be0680bde34d1e44fuankg - Delivery of just about any signal to one of the child
d5ef50bb5810983012435957be0680bde34d1e44fuankg processes will send it into an infinite loop as well.
d5ef50bb5810983012435957be0680bde34d1e44fuankg - Even though the parent is spinning out of control,
d5ef50bb5810983012435957be0680bde34d1e44fuankg at first the child or children will appear to work
d5ef50bb5810983012435957be0680bde34d1e44fuankg properly. At times it is possible to get it into a state,
d5ef50bb5810983012435957be0680bde34d1e44fuankg however, where a request will hang until another concurrent
d5ef50bb5810983012435957be0680bde34d1e44fuankg request "kicks" the first, at which point the second will
d5ef50bb5810983012435957be0680bde34d1e44fuankg hang. My theory is that this has to do with the
d5ef50bb5810983012435957be0680bde34d1e44fuankg pthread_cond_*() implementation in FreeBSD, but it's still
d5ef50bb5810983012435957be0680bde34d1e44fuankg possible that it is in APR.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Justin adds: Oh, FreeBSD threads are implemented entirely with
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes select()/poll()/longjmp(). Welcome to the nightmare.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes So, that means a ktrace output also has the thread
56ab8639aed4d3b2f031d9c1160c5f40af01bdebjerenkrantz scheduling internals in it (since it is all the same to
286fed73f9d1474652034465d4048247c6e7341fbnicholes the kernel). Which makes it hard to distinguish between
be88e49281c5becee364ab9c6a0576f9b9844e0fbnicholes our select() calls and their select() calls.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes *bangs head on wall repeatedly* But, some of the libc_r
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes files have a DBG_MSG #define. This is moderately helpful
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes when used with -DNO_DETACH. The kernel scheduler isn't
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes waking up the threads on a select(). Yum. And, I bet
56ab8639aed4d3b2f031d9c1160c5f40af01bdebjerenkrantz those decrementing select calls have to do with the
56ab8639aed4d3b2f031d9c1160c5f40af01bdebjerenkrantz scheduler. Time to brush up on our OS fundamentals.
56ab8639aed4d3b2f031d9c1160c5f40af01bdebjerenkrantz * There is increasing demand from module writers for an API
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes that will allow them to control the server � la apachectl.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Reasons include sole-function servers that need to die if
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes an external dependency (e.g., a database) fails, et cetera.
f7d723f1ad88ed006c6caf4c2c6604b7c59dd172bnicholes Perhaps something in the (ever more abused) scoreboard?
f7d723f1ad88ed006c6caf4c2c6604b7c59dd172bnicholes rbb: I don't believe the scoreboard is the correct mechanism
4f935de4900dc064a1e145be5e48f6af77ac24fcbnicholes for this. We already have a pipe that goes between parent
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes and child for graceful shutdown events, along with an API that
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes can be used to send a message down that pipe. In threaded MPMs,
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes it is easy enough to make that one pipe be used for graceful
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes and graceless events, and it is also easy to open that pipe
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes to both parent and child for writing. Then we just need to
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes figure out how to do graceless on non-threaded MPMs.
e961abd49ab1b184b356f63591d37083a5651451bnicholes * Allow the DocumentRoot directive within <Location > scopes? This
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes allows the beloved (crusty) Alias /foo/ /somepath/foo/ followed
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes by a <Directory /somepath/foo> to become simply
5f2aaa2483c4526d7930df4a0e5844c1b7b6c9c0fuankg <Location /foo/> DocumentRoot /somefile/foo (IMHO a bit more legible
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes and in-your-face.) DocumentRoot unset would be accepted [and would
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes not permit content to be served, only virtual resources such as
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes server-info or server-status.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes This proposed change would _not_ depricate Alias.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * Win32: Rotatelogs sometimes is not terminated when Apache
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes goes down hard. FirstBill was looking at possibly tracking the
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes child's-child processes in the parent process.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes OtherBill asks, wasn't this fixed?
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes stoddard: Not fixed. Shared scoreboard might offer a good
4a59e9d628fb857a45d516ad1cdc2a3499427e97fuankg way for the parent to keep track of 'other child' processes
6f2fa094a76c27135a9825ca9492f9db0a1a3bc9bnicholes and whack them if the child goes down.
a400161a259d6d9fd47a47fd9a4bb413fd85e3bcsf Other thoughts on walking the process chain using the NT kernel
a400161a259d6d9fd47a47fd9a4bb413fd85e3bcsf have also been proposed on APR.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * Win32: Add a simple hold console open patch (wait for close or
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes the ESC key, with a nice message) if the server died a bad
91f672664302529bb620e3265cccd861661d258cbnicholes death (non-zero exit code) in console mode.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Resolution: bring forward same ugly hacks from 1.3.13-.20
62c14b2cab42c51bee08809b7f22e34edb48fb56fuankg * Port of mod_ssl to Apache 2.0:
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes The current porting state is summarized in modules/ssl/README. The
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes remaining work includes:
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes (1) stablizing/optimizing the SSL filter logic
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes (2) Enabling SSL extentions
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes (3) Trying to seperate the https filter logic from mod_ssl -
9558e9fdb620dd6f42ca93beac6c3ab734086706bnicholes This is to facilitate other modules that wish to use the https
9558e9fdb620dd6f42ca93beac6c3ab734086706bnicholes filter or the mod_ssl logic or both as required.
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg * Eliminate unnecessary creation of pipes in mod_cgid
9558e9fdb620dd6f42ca93beac6c3ab734086706bnicholes * Combine log_child and piped_log_spawn. Clean up http_log.c.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Common logging API.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * Document mod_file_cache.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * Platforms that do not support fork (primarily Win32 and AS/400)
8492a2583e10c69f40de92f9d5da884b64d9f379fuankg Architect start-up code that avoids initializing all the modules
cf7ca2f9eaa6523fefcccba4287b91637391fb51fuankg in the parent process on platforms that do not support fork.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * Win32: Migrate the MPM over to use APR thread/process calls. This
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes would eliminate some code in the Win32 branch that essentially
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes duplicates what is in APR.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * There are still a number of places in the code where we are
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes losing error status (i.e. throwing away the error returned by a
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes system call and replacing it with a generic error code)
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * Mass vhosting version of suEXEC.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * All DBMs suffer from confusion in support/dbmmanage (perl script) since
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes the dbmmanage employs the first-matched dbm format. This is not
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes necessarily the library that Apache was built with. Aught to
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes rewrite dbmmanage upon installation to bin/ with the proper library
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg for predictable mod_auth_dbm administration.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Questions; htdbm exists, time to kill dbmmanage, or does it remain
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes useful as a perl dbm management example? If we keep it,
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes do we address the issue above?
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * Integrate mod_dav.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Some additional items remaining:
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes - case_preserved_filename stuff
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes (use the new canonical name stuff?)
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes - find a new home for ap_text(_header)
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes - is it possible to remove the DAV: namespace stuff from util_xml?
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * ap_core_translate() and its use by mod_mmap_static and mod_file_cache
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes are a bit wonky. The function should probably be exposed as a utility
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes function (such as ap_translate_url2fs() or ap_validate_fs_url() or
fd6ce1276bdbefbd3c32049553c10c41beb5ed15fuankg something). Another approach would be a new hook phase after
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes "translate" which would allow the module to munge what the
8d6e239d0e0aa0593fd93b4fef193d8c51b61b3cfuankg translation has decided to do.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Status: Greg +1 (volunteers), Ryan +1
9558e9fdb620dd6f42ca93beac6c3ab734086706bnicholes * Explore use of a post-config hook for the code in http_main.c which
e76fdcdfb8994ad70776526f50fa013b3e9a6033bnicholes calls ap_fixup_virutal_hosts(), ap_fini_vhost_config(), and
9558e9fdb620dd6f42ca93beac6c3ab734086706bnicholes ap_sort_hooks() [to reduce the logic in main()]
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg * read the config tree just once, and process N times (as necessary)
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg * (possibly) use UUIDs in mod_unique_id and/or mod_usertrack
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * (possibly) port the bug fix for PR 6942 (segv when LoadModule is put
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes into a VirtualHost container) to 2.0.
fd6ce1276bdbefbd3c32049553c10c41beb5ed15fuankg * shift stuff to mod_core.h
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg * callers of ap_run_create_request() should check the return value
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg for failure (Doug volunteers)
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * Win32: Get Apache working on Windows 95/98. The following work
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes (at least) needs to be done:
8492a2583e10c69f40de92f9d5da884b64d9f379fuankg - Document warning that OSR2 is required (for Crypt functions, in
8492a2583e10c69f40de92f9d5da884b64d9f379fuankg rand.c, at least.) This could be resolved with an SSL library, or
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes randomization in APR itself.
8492a2583e10c69f40de92f9d5da884b64d9f379fuankg - Bring the Win9xConHook.dll from 1.3 into 2.0 (no sense till it
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg actually works) and add in a splash of Win9x service code.
8492a2583e10c69f40de92f9d5da884b64d9f379fuankg * In order to use a DSO version of mod_ssl we have to link with
8492a2583e10c69f40de92f9d5da884b64d9f379fuankg -lssl and -lcrypto. A workaround is in place right now where the
8492a2583e10c69f40de92f9d5da884b64d9f379fuankg entire EXTRA_LIBS macro is being appended to the objects list, but
78cd886c3a98c95c0ddedf3a3bcbdcf8c9220979fuankg this is a hack. We should either revamp the APACHE_CHECK_SSL_TOOLKIT
8492a2583e10c69f40de92f9d5da884b64d9f379fuankg autoconf function or come up with some other autoconf checks to
8492a2583e10c69f40de92f9d5da884b64d9f379fuankg search for libssl and libcrypto and properly add them to mod_ssl's
8492a2583e10c69f40de92f9d5da884b64d9f379fuankg link flags.
8492a2583e10c69f40de92f9d5da884b64d9f379fuankg * Fix the worker MPM to use POD to kill child processes instead
8492a2583e10c69f40de92f9d5da884b64d9f379fuankg of ap_os_killpg, regardless of how they should die. (Ryan Bloom)
8492a2583e10c69f40de92f9d5da884b64d9f379fuankg * Scoreboard structures could be changed in the future such that
78cd886c3a98c95c0ddedf3a3bcbdcf8c9220979fuankg proper alignment is not maintained, leading to segfaults on
78cd886c3a98c95c0ddedf3a3bcbdcf8c9220979fuankg some systems. Cliff posted a patch to deal with this issue but
78cd886c3a98c95c0ddedf3a3bcbdcf8c9220979fuankg later recanted. See this message to dev@apr.apache.org:
78cd886c3a98c95c0ddedf3a3bcbdcf8c9220979fuankg Message-ID: <Pine.LNX.4.44.0203011354090.16457-200000@deepthought
8492a2583e10c69f40de92f9d5da884b64d9f379fuankgEXPERIMENTAL MODULES:
8492a2583e10c69f40de92f9d5da884b64d9f379fuankg Experimental modules should eventually be be promoted to fully supported
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes status or removed from the repository entirely (ie, the
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes 'experiment' failed). This section tracks what needs to happen to
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes get the modules promoted to fully supported status.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * mod_cache: handle cache_control: no_cache "field_name" to enable
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes cacheing the response w/o header "field_name"
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes See RFC2616 section 14.9.1
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg * mod_cache: CacheEnable/CacheDisable should accept regular expressions.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * mod_disk_cache: Implement garbage collection
8d6e239d0e0aa0593fd93b4fef193d8c51b61b3cfuankg * mod_mem_cache/mod_disk_cache interoperability: Some cache
25b3aa26ee94824bb1e9ff2631aa1588b37e5f72fuankg directive names are the same which precludes using mod_mem_cache
b819d97849e89dad276b0e079414a1012aa1ead4fuankg and mod_disk_cache concurrently.
b819d97849e89dad276b0e079414a1012aa1ead4fuankg * mod_mem_cache: Config directive to enable caching open file
b819d97849e89dad276b0e079414a1012aa1ead4fuankg descriptors or caching the content in malloc'ed storage.
b819d97849e89dad276b0e079414a1012aa1ead4fuankg * mod_mem_cache/mod_disk_cache: Need to be able to query cache
b819d97849e89dad276b0e079414a1012aa1ead4fuankg status (num of entries, cache object properties, etc.).
b819d97849e89dad276b0e079414a1012aa1ead4fuankg mod_status could be extended to query optional hooks defined
b819d97849e89dad276b0e079414a1012aa1ead4fuankg by modules for the purpose of reporting module status.
b819d97849e89dad276b0e079414a1012aa1ead4fuankg mod_cache (et. al.) could define optional hooks that are called
b819d97849e89dad276b0e079414a1012aa1ead4fuankg to collect status. Status should be queryable by
b819d97849e89dad276b0e079414a1012aa1ead4fuankg HTTP or SNMP?
b819d97849e89dad276b0e079414a1012aa1ead4fuankg * mod_mem_cache: garbage collection. One strategy is to simply
b819d97849e89dad276b0e079414a1012aa1ead4fuankg remove stale entries as we attempt to serve them. Another
b819d97849e89dad276b0e079414a1012aa1ead4fuankg strategy is to kick off a GC thread that traverses the cache
b819d97849e89dad276b0e079414a1012aa1ead4fuankg and preemptively remove stale entries. How to manage a
b819d97849e89dad276b0e079414a1012aa1ead4fuankg cache that is full? Do LRU GC? Other? Bueller?
b819d97849e89dad276b0e079414a1012aa1ead4fuankg * mod_mem_cache/mod_disk_cache: Complete implementing config
b819d97849e89dad276b0e079414a1012aa1ead4fuankg directives.
b819d97849e89dad276b0e079414a1012aa1ead4fuankg * Sample config for mod_cache/mod_mem_cache/mod_disk_cache for
b819d97849e89dad276b0e079414a1012aa1ead4fuankg inclusion into httpd.conf.
b819d97849e89dad276b0e079414a1012aa1ead4fuankg * mod_cache/mod_mem_cache/mod_disk_cache: Documentation.
e6dd71992459d05a676b98b7963423dc5dc1e24aminfrinPRs that have been suspended forever waiting for someone to
b819d97849e89dad276b0e079414a1012aa1ead4fuankgput them into 'the next release':
b819d97849e89dad276b0e079414a1012aa1ead4fuankg * PR#76: general
b819d97849e89dad276b0e079414a1012aa1ead4fuankg missing call to "setlocale();"
b819d97849e89dad276b0e079414a1012aa1ead4fuankg * PR#78: mod_include
0f7cc4b1d3c42262bcdced99f682778963e83ea7bnicholes Additional status for XBitHack directive
b819d97849e89dad276b0e079414a1012aa1ead4fuankg * PR#362: mod_proxy
b819d97849e89dad276b0e079414a1012aa1ead4fuankg Mod_proxy doesn't allow change of error pages
b819d97849e89dad276b0e079414a1012aa1ead4fuankg * PR#370: mod_env
b819d97849e89dad276b0e079414a1012aa1ead4fuankg Modified PATH environemnt variable is not passed, instead
e9782fa49707580315dedad6164892965ff9600cfuankg system's is used
b819d97849e89dad276b0e079414a1012aa1ead4fuankg * PR#440: mod_proxy
b819d97849e89dad276b0e079414a1012aa1ead4fuankg Proxy doesn't deliver documents if not connected
b819d97849e89dad276b0e079414a1012aa1ead4fuankg * PR#534: mod_proxy
b819d97849e89dad276b0e079414a1012aa1ead4fuankg proxy converts ~name to %7Ename when name starts with a dot (.)
b819d97849e89dad276b0e079414a1012aa1ead4fuankg * PR#537: mod_access
b819d97849e89dad276b0e079414a1012aa1ead4fuankg mod_access syntax allows hosts that should be restricted
b819d97849e89dad276b0e079414a1012aa1ead4fuankg * PR#557: mod_auth-any
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg ~UserHome directories are not honored in absolute pathname
273e1eccdc9e5b94f1e3e13e3ffca7360b6f461fbnicholes requests (.htaccess)
0662ed52e814f8f08ef0e09956413a792584eddffuankg * PR#612: mod_proxy
b819d97849e89dad276b0e079414a1012aa1ead4fuankg Proxy FTP Authentication Fails
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * PR#623: mod_include
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes A smarter "Last Modified" value for SSI documents (see PR number 600)
8410c53aaf5e0372a19d5f4d2bc696b9c609ce3cbnicholes * PR#628: config
8410c53aaf5e0372a19d5f4d2bc696b9c609ce3cbnicholes Request of "Options SymLinksIfGroupMatch"
398f7be4e4ef696ddf6803a26e9c2c0589f090d2fuankg * PR#700: mod_proxy
398f7be4e4ef696ddf6803a26e9c2c0589f090d2fuankg Proxy doesn't do links right for OpenVMS files through ftp:
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * PR#759: mod_imap
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes imap should read <MAP><AREA>*</MAP> too!
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * PR#793: general
0662ed52e814f8f08ef0e09956413a792584eddffuankg RLimitCPU and RLimitMEM don't apply to all children like they should
Using NIS passwd.byname dbm files with AuthDBMUserFile
setlogin() is not called, causing problems with e.g. identd
add allow,deny/deny,allow warning to mod_access
A small addition to rotatelogs.c to improve program functionality.
Feedback/Comment on APACI
Inclusion of RPM spec file in CVS/distributions
* orig_ct in the byterange/multipart handling may not be
Solaris 8.x/sparc yes Jim Jagielski