STATUS revision b32ee3f548eab15b3383df4eef4e1c755d028b39
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesAPACHE 2.0 STATUS: -*-text-*-
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesLast modified at [$Date: 2002/05/07 23:30:17 $]
70953fb44a7140fe206c3a5f011e24209c8c5c6abnicholes 2.0.37 : in development.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes 2.0.36 : released May 6, 2002 as GA.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes 2.0.35 : released April 5, 2002 as GA.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes 2.0.34 : tagged March 26, 2002.
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg 2.0.33 : tagged March 6, 2002. not released.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes 2.0.32 : released Feburary 16, 2002 as beta.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes 2.0.31 : rolled Feburary 1, 2002. not released.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes 2.0.30 : tagged January 8, 2002. not rolled.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes 2.0.29 : tagged November 27, 2001. not rolled.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes 2.0.28 : released November 13, 2001 as beta.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes 2.0.27 : rolled November 6, 2001
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes 2.0.26 : tagged October 16, 2001. not rolled.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes 2.0.25 : rolled August 29, 2001
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes 2.0.24 : rolled August 18, 2001
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes 2.0.23 : rolled August 9, 2001
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes 2.0.22 : rolled July 29, 2001
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes 2.0.21 : rolled July 20, 2001
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes 2.0.20 : rolled July 8, 2001
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes 2.0.19 : rolled June 27, 2001
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes 2.0.18 : rolled May 18, 2001
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes 2.0.17 : rolled April 17, 2001
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes 2.0.16 : rolled April 4, 2001
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes 2.0.15 : rolled March 21, 2001
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes 2.0.14 : rolled March 7, 2001
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes 2.0a9 : released December 12, 2000
70953fb44a7140fe206c3a5f011e24209c8c5c6abnicholes 2.0a8 : released November 20, 2000
70953fb44a7140fe206c3a5f011e24209c8c5c6abnicholes 2.0a7 : released October 8, 2000
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes 2.0a6 : released August 18, 2000
f7d723f1ad88ed006c6caf4c2c6604b7c59dd172bnicholes 2.0a5 : released August 4, 2000
f300a833b20ab4dee4839f186ebb01a488c59752fuankg 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:
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * 36 status: released on Monday, May 6, 2002.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Awaiting the .zip files to complete the release.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesRELEASE SHOWSTOPPERS:
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * for 2.0.37: decide if the MMN bump was warranted
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]
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes -1: Justin, Ian
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * If the parent process dies, should the remaining child processes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes "gracefully" self-terminate. Or maybe we should make it a runtime
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes option, or have a concept of 2 parent processes (one being a
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes "hot spare").
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes 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
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes something useful?)
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * Make the worker MPM the default MPM for threaded Unix boxes.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes +1: Justin, Ian, Cliff, BillS
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg +0: BrianP (mutex contention is looking better with the
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes latest code, let's continue tuning and testing)
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes -1: Aaron (premature decision, needs more discussion and bug fixes)
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * Change the default config so that we add a ServerToken Minimal
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes to the config. Possibly go one step further and add a option
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes to just report '2.0' instead of '2.0.x'
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes +1: IanH, BrianP
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes -1: Greg, Cliff, Justin
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes I use the default response all the time to verify that a
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes module is present and at the proper version. This information
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes is also very handy for the module surveys, to determine what
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes modules are out there and in prevalent use (see
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg securityspace.com; frickin' JServ is still increasing in
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes numbers!). Security conscious people can change this on their
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes own, when required. Removing the information doesn't remove
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes any future vulnerabilities. Assuming that a vulnerability
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes occurred, I highly doubt that somebody would actually bother
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes to *test* the version reported in the response before
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes attempting to use the vulnerability, so trying to hide the
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes information isn't all that useful.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholesRELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * Get mod_cache/mod_mem_cache out of experimental (still some
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes work items left to complete)
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * The 2.0.36 worker MPM graceless shutdown changes work but are
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes a bit clunky on some platforms; eg, on Linux, the loop to
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes join each worker thread seems to hang, and the parent ends up
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes killing off the child with SIGKILL. But at least it shuts down.
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
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg scripts or generated-configs. (i.e. if sysconfdir is etc,
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes httpd-std.conf points to conf.)
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg * 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
6c080a25f5991f40225209541c989d7e76c4a39dbnicholes 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>
41022996c916eb4ab2ec3204eb491b64779eb100bnicholes [Deleted comments regarding the ap_run_handler phase, as irrelevant
41022996c916eb4ab2ec3204eb491b64779eb100bnicholes as BillS points out that "common case will be caught in
41022996c916eb4ab2ec3204eb491b64779eb100bnicholes default_handler already (with the r->finfo.filetype == 0 check)"
41022996c916eb4ab2ec3204eb491b64779eb100bnicholes and the issue is detecting this -before- we try to run the req.]
036436f4f4cdcd76186c0058891216545967043bbnicholes gregames says: can this happen somehow without a broken module
41022996c916eb4ab2ec3204eb491b64779eb100bnicholes being involved? If not, why waste cycles trying to defend against
41022996c916eb4ab2ec3204eb491b64779eb100bnicholes potential broken modules? It seems futile.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes wrowe counters: no, it shouldn't happen unless the module is broken.
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg 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
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes it with predictable results as it is implemented now.
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
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg 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>
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * [Ken] Test suite failures:
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes o worker is also failing some of the 'cgi' subtests
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes (see <URL:http://Source-Zone.Org/Apache/regression/>):
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Justin says: "Worker should be fine and passes httpd-test here.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes If you can provide evidence that it can be reproduced
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg outside of httpd-test, then it's a showstopper. I
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes 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>
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * There is a bug in how we sort some hooks, at least the pre-config
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes hook. The first time we call the hooks, they are in the correct
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes order, but the second time, we don't sort them correctly. Currently,
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes the modules/http/config.m4 file has been renamed to
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes modules/http/config2.m4 to work around this problem, it should moved
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes back when this is fixed. rbb
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Justin says: "Is this really a showstopper? This has been here
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes forever. What's wrong? Does this have to do with
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes autoconf or m4?"
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Not a showstopper: Justin, BrianP, trawick, gregames
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * The Add...Filter and Set...Filter directives do not allow the
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes 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?"
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes 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
56ab8639aed4d3b2f031d9c1160c5f40af01bdebjerenkrantz descriptors between vhost child groups. An API was proposed
be88e49281c5becee364ab9c6a0576f9b9844e0fbnicholes Message-ID: <20020111115006.K1529@clove.org>
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * Try to get libtool inter-library dependency code working on AIX.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Message-ID: <cm3n10lx555.fsf@rdu163-40-092.nc.rr.com>
56ab8639aed4d3b2f031d9c1160c5f40af01bdebjerenkrantz Justin says: If we get it working on AIX, we can enable this
56ab8639aed4d3b2f031d9c1160c5f40af01bdebjerenkrantz on all platforms and clean up our build system
56ab8639aed4d3b2f031d9c1160c5f40af01bdebjerenkrantz Jeff says: I thought I tested a patch for you sometime in
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes January that you were going to commit within a few
f7d723f1ad88ed006c6caf4c2c6604b7c59dd172bnicholes * Handling of %2f in URIs. Currently both 1.3 and 2.0
f7d723f1ad88ed006c6caf4c2c6604b7c59dd172bnicholes completely disallow %2f in the request URI path (see
4f935de4900dc064a1e145be5e48f6af77ac24fcbnicholes ap_unescape_url() in util.c). It's permitted and passed
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes through in the query string, however. Roy says the
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes 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 form 'http://foo.com/index.cgi/path/to/path%2finfo'.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Since we've revamped a lot of our processing of path
e961abd49ab1b184b356f63591d37083a5651451bnicholes 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
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes 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).
440cda576ca9ff6476e4a04bdb253c5023da15eejerenkrantz 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
4a59e9d628fb857a45d516ad1cdc2a3499427e97fuankg with worker, this becomes a showstopper.
6f2fa094a76c27135a9825ca9492f9db0a1a3bc9bnicholes Aaron says: I spent some time disecting this and have come to
78a20a6e7ad3a0229900ee54c7d11a65f647b663niq 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
91f672664302529bb620e3265cccd861661d258cbnicholes else wants to pick up where I've left off:
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes - Delivery of just about any signal to one of the child
3163ad7b2076b0f6961dc1a1ddaa06b240eecb7cjorton processes will send it into an infinite loop as well.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes - Even though the parent is spinning out of control,
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes at first the child or children will appear to work
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes properly. At times it is possible to get it into a state,
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes however, where a request will hang until another concurrent
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes request "kicks" the first, at which point the second will
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes hang. My theory is that this has to do with the
9558e9fdb620dd6f42ca93beac6c3ab734086706bnicholes pthread_cond_*() implementation in FreeBSD, but it's still
9558e9fdb620dd6f42ca93beac6c3ab734086706bnicholes possible that it is in APR.
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg Justin adds: Oh, FreeBSD threads are implemented entirely with
9558e9fdb620dd6f42ca93beac6c3ab734086706bnicholes select()/poll()/longjmp(). Welcome to the nightmare.
9558e9fdb620dd6f42ca93beac6c3ab734086706bnicholes So, that means a ktrace output also has the thread
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes scheduling internals in it (since it is all the same to
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes the kernel). Which makes it hard to distinguish between
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes 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
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg when used with -DNO_DETACH. The kernel scheduler isn't
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes waking up the threads on a select(). Yum. And, I bet
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes those decrementing select calls have to do with the
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes scheduler. Time to brush up on our OS fundamentals.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * 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.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Perhaps something in the (ever more abused) scoreboard?
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes rbb: I don't believe the scoreboard is the correct mechanism
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes 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
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg to both parent and child for writing. Then we just need to
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes figure out how to do graceless on non-threaded MPMs.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * 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
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes <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
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes way for the parent to keep track of 'other child' processes
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes and whack them if the child goes down.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Other thoughts on walking the process chain using the NT kernel
9558e9fdb620dd6f42ca93beac6c3ab734086706bnicholes have also been proposed on APR.
9558e9fdb620dd6f42ca93beac6c3ab734086706bnicholes * Win32: Add a simple hold console open patch (wait for close or
9558e9fdb620dd6f42ca93beac6c3ab734086706bnicholes the ESC key, with a nice message) if the server died a bad
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg death (non-zero exit code) in console mode.
9558e9fdb620dd6f42ca93beac6c3ab734086706bnicholes Resolution: bring forward same ugly hacks from 1.3.13-.20
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg * 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
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg (3) Trying to seperate the https filter logic from mod_ssl -
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg This is to facilitate other modules that wish to use the https
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes filter or the mod_ssl logic or both as required.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * Eliminate unnecessary creation of pipes in mod_cgid
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg * 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)
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes Architect start-up code that avoids initializing all the modules
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes 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
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg duplicates what is in APR.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * There are still a number of places in the code where we are
25b3aa26ee94824bb1e9ff2631aa1588b37e5f72fuankg losing error status (i.e. throwing away the error returned by a
f2f3f241c00a7a4bd597e57a19023940e072918abnicholes system call and replacing it with a generic error code)
f2f3f241c00a7a4bd597e57a19023940e072918abnicholes * Mass vhosting version of suEXEC.
f2f3f241c00a7a4bd597e57a19023940e072918abnicholes * All DBMs suffer from confusion in support/dbmmanage (perl script) since
f2f3f241c00a7a4bd597e57a19023940e072918abnicholes the dbmmanage employs the first-matched dbm format. This is not
03ff116275bf4439816b8af6ea3ddabd469f8365fuankg necessarily the library that Apache was built with. Aught to
f2f3f241c00a7a4bd597e57a19023940e072918abnicholes rewrite dbmmanage upon installation to bin/ with the proper library
f2f3f241c00a7a4bd597e57a19023940e072918abnicholes for predictable mod_auth_dbm administration.
03ff116275bf4439816b8af6ea3ddabd469f8365fuankg Questions; htdbm exists, time to kill dbmmanage, or does it remain
4883fd339815130dbe680e816ef00256e10b844ffuankg useful as a perl dbm management example? If we keep it,
f2f3f241c00a7a4bd597e57a19023940e072918abnicholes do we address the issue above?
755d7c84cbdd7bad94beede1d6b5a6526d3a1ccdfuankg * Integrate mod_dav.
755d7c84cbdd7bad94beede1d6b5a6526d3a1ccdfuankg Some additional items remaining:
755d7c84cbdd7bad94beede1d6b5a6526d3a1ccdfuankg - case_preserved_filename stuff
755d7c84cbdd7bad94beede1d6b5a6526d3a1ccdfuankg (use the new canonical name stuff?)
755d7c84cbdd7bad94beede1d6b5a6526d3a1ccdfuankg - find a new home for ap_text(_header)
755d7c84cbdd7bad94beede1d6b5a6526d3a1ccdfuankg - is it possible to remove the DAV: namespace stuff from util_xml?
755d7c84cbdd7bad94beede1d6b5a6526d3a1ccdfuankg * ap_core_translate() and its use by mod_mmap_static and mod_file_cache
4883fd339815130dbe680e816ef00256e10b844ffuankg are a bit wonky. The function should probably be exposed as a utility
4883fd339815130dbe680e816ef00256e10b844ffuankg function (such as ap_translate_url2fs() or ap_validate_fs_url() or
f2f3f241c00a7a4bd597e57a19023940e072918abnicholes something). Another approach would be a new hook phase after
f2f3f241c00a7a4bd597e57a19023940e072918abnicholes "translate" which would allow the module to munge what the
f2f3f241c00a7a4bd597e57a19023940e072918abnicholes translation has decided to do.
f2f3f241c00a7a4bd597e57a19023940e072918abnicholes Status: Greg +1 (volunteers), Ryan +1
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg * Explore use of a post-config hook for the code in http_main.c which
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg calls ap_fixup_virutal_hosts(), ap_fini_vhost_config(), and
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg ap_sort_hooks() [to reduce the logic in main()]
0f7cc4b1d3c42262bcdced99f682778963e83ea7bnicholes * read the config tree just once, and process N times (as necessary)
f2f3f241c00a7a4bd597e57a19023940e072918abnicholes * (possibly) use UUIDs in mod_unique_id and/or mod_usertrack
f2f3f241c00a7a4bd597e57a19023940e072918abnicholes * (possibly) port the bug fix for PR 6942 (segv when LoadModule is put
f2f3f241c00a7a4bd597e57a19023940e072918abnicholes into a VirtualHost container) to 2.0.
f2f3f241c00a7a4bd597e57a19023940e072918abnicholes * shift stuff to mod_core.h
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg * callers of ap_run_create_request() should check the return value
273e1eccdc9e5b94f1e3e13e3ffca7360b6f461fbnicholes for failure (Doug volunteers)
148d643cf7bf8b3067f3d949e3e01e27d4c8b4fcbnicholes * Win32: Get Apache working on Windows 95/98. The following work
273e1eccdc9e5b94f1e3e13e3ffca7360b6f461fbnicholes (at least) needs to be done:
273e1eccdc9e5b94f1e3e13e3ffca7360b6f461fbnicholes - Document warning that OSR2 is required (for Crypt functions, in
148d643cf7bf8b3067f3d949e3e01e27d4c8b4fcbnicholes rand.c, at least.) This could be resolved with an SSL library, or
273e1eccdc9e5b94f1e3e13e3ffca7360b6f461fbnicholes randomization in APR itself.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes - Bring the Win9xConHook.dll from 1.3 into 2.0 (no sense till it
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes actually works) and add in a splash of Win9x service code.
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * In order to use a DSO version of mod_ssl we have to link with
8410c53aaf5e0372a19d5f4d2bc696b9c609ce3cbnicholes -lssl and -lcrypto. A workaround is in place right now where the
8410c53aaf5e0372a19d5f4d2bc696b9c609ce3cbnicholes entire EXTRA_LIBS macro is being appended to the objects list, but
f300a833b20ab4dee4839f186ebb01a488c59752fuankg this is a hack. We should either revamp the APACHE_CHECK_SSL_TOOLKIT
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes autoconf function or come up with some other autoconf checks to
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes search for libssl and libcrypto and properly add them to mod_ssl's
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * Fix the worker MPM to use POD to kill child processes instead
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes of ap_os_killpg, regardless of how they should die. (Ryan Bloom)
bb2b38cd44b032118359afbc743efbea12f48e61bnicholes * Scoreboard structures could be changed in the future such that
25b3aa26ee94824bb1e9ff2631aa1588b37e5f72fuankg proper alignment is not maintained, leading to segfaults on
25b3aa26ee94824bb1e9ff2631aa1588b37e5f72fuankg some systems. Cliff posted a patch to deal with this issue but
ce22ce4743d79a889dca64df4459c598e2c188c7fuankg later recanted. See this message to dev@apr.apache.org:
Message-ID: <Pine.LNX.4.44.0203011354090.16457-200000@deepthought
* mod_cache: CacheEnable/CacheDisable should accept regular expressions.
* mod_mem_cache/mod_disk_cache: Need to be able to query cache
* mod_mem_cache/mod_disk_cache: Complete implementing config
* Sample config for mod_cache/mod_mem_cache/mod_disk_cache for
inclusion into httpd.conf.
* mod_cache/mod_mem_cache/mod_disk_cache: Documentation.
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