STATUS revision 3264438575d967c19e5fab7f18f9487a1e4860b5
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86TrippAPACHE 2.0 STATUS: -*-text-*-
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86TrippLast modified at [$Date: 2002/02/13 04:49:55 $]
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp 2.0.32 : in development
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp 2.0.31 : rolled Feburary 1, 2002.
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp 2.0.30 : tagged January 8, 2002. not rolled.
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp 2.0.29 : tagged November 27, 2001. not rolled.
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp 2.0.28 : released November 13, 2001
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp 2.0.27 : rolled November 6, 2001
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp 2.0.26 : tagged October 16, 2001. not rolled.
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp 2.0.25 : rolled August 29, 2001
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp 2.0.24 : rolled August 18, 2001
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp 2.0.23 : rolled August 9, 2001
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp 2.0.22 : rolled July 29, 2001
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp 2.0.21 : rolled July 20, 2001
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp 2.0.20 : rolled July 8, 2001
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp 2.0.19 : rolled June 27, 2001
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp 2.0.18 : rolled May 18, 2001
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp 2.0.17 : rolled April 17, 2001
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp 2.0.16 : rolled April 4, 2001
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp 2.0.15 : rolled March 21, 2001
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp 2.0.14 : rolled March 7, 2001
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp 2.0a9 : released December 12, 2000
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp 2.0a8 : released November 20, 2000
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp 2.0a7 : released October 8, 2000
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp 2.0a6 : released August 18, 2000
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp 2.0a5 : released August 4, 2000
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp 2.0a4 : released June 7, 2000
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp 2.0a3 : released April 28, 2000
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp 2.0a2 : released March 31, 2000
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp 2.0a1 : released March 10, 2000
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86TrippPlease consult the following STATUS files for information
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Trippon related projects:
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86TrippCURRENT RELEASE NOTES:
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp * 32 status:
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp Proposed tag is JRE_1. A proposed tarball is at:
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp http://www.apache.org/~jerenkrantz/2.0.32-jre/httpd-2.0.32-JRE-1-alpha.tar.gz
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp Win32 is not expected to work.
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp +1 (concept): trawick, BillS
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp * 31 + fixes for all resolved problems and call it 32 (instead of HEAD)
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp See: http://www.apache.org/~jerenkrantz/httpd-2.0.jre.patch
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp +1: trawick, Justin, Ian, BillS
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86TrippFINAL RELEASE SHOWSTOPPERS:
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp * ap_directory_walk skips some per-dir config merge functions
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp if there is no "<Directory />" block in the configuration
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp Message-ID: <m3itbdiijq.fsf@rdu163-40-092.nc.rr.com>
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp * That is very unlikely, merges are additive. Much more likely,
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp the default SetOutputFilter default or merge is borked.
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp Unless it's the code that permits 'null' merges, per module.
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp Still, it's probably in SetOutputFilter's behavior.
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp * BrianP notes: directory_walk's handling of trailing slashes
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp appears to be the cause: <3C1CF721.1090300@pacbell.net>
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp * If any request gets to the core handler, without a flag that this
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp r->filename was tested by dir/file_walk, we need to 500 at the very
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp end of the ap_process_request_internal() processing. This provides
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp authors of older modules better compatibility, while still improving
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp the security and robustness of 2.0.
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp Status: still need to decide where this goes, OtherBill comments...
d1a404610f53bdff63cde29a00ea9cf48739d91eTripp Message-ID: <065701c14526$495203b0$96c0b0d0@roweclan.net>
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp we need to look at halting this in the 'default handler' case,
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp and that implies pushing the 'handler election' into the request
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp internal processing phase from the run request phase.
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp * Convert all instances of the old apr_lock_t type to the new
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp types (once they are fully supported in APR).
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp Status: Aaron is working on converting INTRAPROCESS
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp to apr_thread_mutex_t types. Full replacements for
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp LOCKALL and CROSS_PROCESS are not yet complete on all
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp platforms, and should only be used in MPMs like worker
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp with limited OS exposure.
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp BrianP asks: "Is this really a showstopper?"
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp IanH says: "If we don't do it before we go live we will have 2
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp different API's to support in APR"
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp * [Ken] Test suite failures:
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp o worker is also failing some of the 'cgi' subtests
d1a404610f53bdff63cde29a00ea9cf48739d91eTripp (see <URL:http://Source-Zone.Org/Apache/regression/>):
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp Justin says: "Worker should be fine and passes httpd-test here.
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp If you can provide evidence that it can be reproduced
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp outside of httpd-test, then it's a showstopper. I
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp think it's a perl or a httpd-test problem."
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp Not a showstopper: Justin
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp * [Ken] A binbuild installation picks up the right libraries when
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp running apachectl because we set the appropriate environment
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp variable, but ab, htpasswd, etc. don't know how to pick up apr,
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp apr-util, etc.
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp Message-ID: <20020116000226.GA15991@ebuilt.com>
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp gregames says: what about httpd? yeah, it works at the moment
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp if you use apachectl. But I've already heard
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp complaints about not being able to execute
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp httpd directly.
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp Status: Aaron has committed this for all the support binaries,
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp but is hesitant to do the same for the httpd binary.
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp Message-ID: <20020207142751.T31582@clove.org>
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86TrippCURRENT VOTES:
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp * Should we always build binaries statically unless otherwise
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp Message-ID: <20020129210006.B23512@Lithium.MeepZor.Com>
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp -1: Justin, Ian
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp * If the parent process dies, should the remaining child processes
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp "gracefully" self-terminate. Or maybe we should make it a runtime
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp option, or have a concept of 2 parent processes (one being a
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp "hot spare").
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp See: Message-ID: <3C58232C.FE91F19F@Golux.Com>
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp Self-destruct: Ken, Martin
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp Not self-destruct: BrianP, Ian, Cliff, BillS
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp Make it runtime configurable: Aaron, Jim, Justin
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp Have 2 parents: +1: Jim
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp +0: Martin (while standing by, could it do
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp something useful?)
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp * Make the worker MPM the default MPM for threaded Unix boxes.
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp +1: Justin, Ian, Cliff
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp -0: Aaron (premature decision, needs more discussion), Lars
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86TrippRELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp * Usage of APR_BRIGADE_NORMALIZE in core_input_filter should be
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp removed if possible.
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp Message-ID: <Pine.LNX.4.33.0201202232430.318-100000@deepthought.cs.virginia.edu>
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp * There is a bug in how we sort some hooks, at least the pre-config
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp hook. The first time we call the hooks, they are in the correct
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp order, but the second time, we don't sort them correctly. Currently,
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp the modules/http/config.m4 file has been renamed to
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp modules/http/config2.m4 to work around this problem, it should moved
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp back when this is fixed. rbb
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp Justin says: "Is this really a showstopper? This has been here
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp forever. What's wrong? Does this have to do with
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp autoconf or m4?"
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp Not a showstopper: Justin, BrianP, trawick, gregames
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp * The Add...Filter and Set...Filter directives do not allow the
6a3585e2672045e8e28e6a45f279f80aef446959Tripp administrator to order filters, beyond the order of filename (mime)
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp extensions. It isn't clear if Set...Filter(s) should be inserted
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp before or after the Add...Filter(s) which are ordered by sequence of
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp filename extensions. At minimum, some sort of +-[0-10] syntax seems
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp like the quickest fix for a 2.0 gold release.
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp Justin says: "Could we delay this for a point release or 2.1?"
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp Not a showstopper: justin, wrowe, trawick, stoddard, Jim, Ian, Aaron,
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp * Make some modifications to the scoreboard creation routines,
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp prefer anonymous shared memory, and allow a configuration
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp directive to override the defaults.
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp Message-ID: <20020130080804.C16977@clove.org>
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp Status: Aaron volunteers
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp * Get perchild to work on platforms other than Linux. This
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp will require a portable mechanism to pass data and file/socket
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp descriptors between vhost child groups. An API was proposed
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp on dev@apr:
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp Message-ID: <20020111115006.K1529@clove.org>
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp * Recent changes to ap_rgetline may have broken EBCDIC boxes.
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp Message-ID: <20020122072605.GF28051@ebuilt.com>
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp Justin says: "I don't have an EBCDIC box to test on. A potential
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp solution is to split out ap_rgetline into two
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp functions as described in this message."
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp gregames says: I see the breakage now, and volunteer to fix it
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp when things calm down a little. It looks OK when
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp there are complete lines and no mime continuations.
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp * CGI single-byte reads
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp BrianP suggests that this is caused by the ap_scan_script_header_err()
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp routine, which will do single-byte reads until it finds the end
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp of the header, at which point it constructs a pipe-bucket (buffered)
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp to read from.
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp Proposed solution in:
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp Message-ID: <3C36ADAF.60601@cnet.com>
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp * Try to get libtool inter-library dependency code working on AIX.
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp Message-ID: <cm3n10lx555.fsf@rdu163-40-092.nc.rr.com>
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp Justin says: If we get it working on AIX, we can enable this
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp on all platforms and clean up our build system
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp Jeff says: I thought I tested a patch for you sometime in
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp January that you were going to commit within a few
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp * Handling of %2f in URIs. Currently both 1.3 and 2.0
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp completely disallow %2f in the request URI path (see
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp ap_unescape_url() in util.c). It's permitted and passed
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp through in the query string, however. Roy says the
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp original reason for disallowing it, from five years ago,
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp was to protect CGI scripts that applied PATH_INFO to
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp a filesystem location and which might be tricked by
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp ..%2f..%2f(...). We *should* allow path-info of the
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp Since we've revamped a lot of our processing of path
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp segments, it would be nice to allow this, or at least
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp allow it conditionally with a directive.
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp * FreeBSD, threads, and worker MPM. All seems to work fine
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp if you only have one worker process with many threads. Add
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp a second worker process and the accept lock seems to be
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp lost. This might be an APR issue with how it deals with
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp the child_init hook (i.e. the fcntl lock needs to be resynced).
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp More examination and analysis is required.
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp Status: This has also been reported on Cygwin.
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp Message-ID: <3C2CC514.8EF3BED1@wapme-systems.de> (cygnus)
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp Justin says: So, FreeBSD-CURRENT and Cywin have the same
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp problem. Yum. If another platform has this
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp with worker, this becomes a showstopper.
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp Aaron says: I spent some time disecting this and have come to
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp the conclusion that it is not a problem in the worker MPM
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp (or at least, it is not isolated to a problem in worker).
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp I'll list some of the problems I'm seeing in case someone
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp else wants to pick up where I've left off:
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp - Delivery of just about any signal to one of the child
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp processes will send it into an infinite loop as well.
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp - Even though the parent is spinning out of control,
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp at first the child or children will appear to work
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp properly. At times it is possible to get it into a state,
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp however, where a request will hang until another concurrent
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp request "kicks" the first, at which point the second will
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp hang. My theory is that this has to do with the
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp pthread_cond_*() implementation in FreeBSD, but it's still
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp possible that it is in APR.
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp Justin adds: Oh, FreeBSD threads are implemented entirely with
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp select()/poll()/longjmp(). Welcome to the nightmare.
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp So, that means a ktrace output also has the thread
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp scheduling internals in it (since it is all the same to
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp the kernel). Which makes it hard to distinguish between
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp our select() calls and their select() calls.
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp *bangs head on wall repeatedly* But, some of the libc_r
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp files have a DBG_MSG #define. This is moderately helpful
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp when used with -DNO_DETACH. The kernel scheduler isn't
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp waking up the threads on a select(). Yum. And, I bet
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp those decrementing select calls have to do with the
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp scheduler. Time to brush up on our OS fundamentals.
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp * There is increasing demand from module writers for an API
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp that will allow them to control the server � la apachectl.
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp Reasons include sole-function servers that need to die if
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp an external dependency (e.g., a database) fails, et cetera.
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp Perhaps something in the (ever more abused) scoreboard?
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp rbb: I don't believe the scoreboard is the correct mechanism
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp for this. We already have a pipe that goes between parent
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp and child for graceful shutdown events, along with an API that
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp can be used to send a message down that pipe. In threaded MPMs,
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp it is easy enough to make that one pipe be used for graceful
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp and graceless events, and it is also easy to open that pipe
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp to both parent and child for writing. Then we just need to
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp figure out how to do graceless on non-threaded MPMs.
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp * Allow the DocumentRoot directive within <Location > scopes? This
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp allows the beloved (crusty) Alias /foo/ /somepath/foo/ followed
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp by a <Directory /somepath/foo> to become simply
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp <Location /foo/> DocumentRoot /somefile/foo (IMHO a bit more legible
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp and in-your-face.) DocumentRoot unset would be accepted [and would
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp not permit content to be served, only virtual resources such as
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp server-info or server-status.
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp This proposed change would _not_ depricate Alias.
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp * Win32: Rotatelogs sometimes is not terminated when Apache
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp goes down hard. FirstBill was looking at possibly tracking the
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp child's-child processes in the parent process.
6a3585e2672045e8e28e6a45f279f80aef446959Tripp OtherBill asks, wasn't this fixed?
6a3585e2672045e8e28e6a45f279f80aef446959Tripp stoddard: Not fixed. Shared scoreboard might offer a good
6a3585e2672045e8e28e6a45f279f80aef446959Tripp way for the parent to keep track of 'other child' processes
6a3585e2672045e8e28e6a45f279f80aef446959Tripp and whack them if the child goes down.
6a3585e2672045e8e28e6a45f279f80aef446959Tripp * Win32: Add a simple hold console open patch (wait for close or
6a3585e2672045e8e28e6a45f279f80aef446959Tripp the ESC key, with a nice message) if the server died a bad
6a3585e2672045e8e28e6a45f279f80aef446959Tripp death (non-zero exit code) in console mode.
6a3585e2672045e8e28e6a45f279f80aef446959Tripp Resolution: bring forward same ugly hacks from 1.3.13-.20
6a3585e2672045e8e28e6a45f279f80aef446959Tripp * Port of mod_ssl to Apache 2.0:
6a3585e2672045e8e28e6a45f279f80aef446959Tripp The current porting state is summarized in modules/ssl/README. The
6a3585e2672045e8e28e6a45f279f80aef446959Tripp remaining work includes:
6a3585e2672045e8e28e6a45f279f80aef446959Tripp (1) stablizing/optimizing the SSL filter logic
6a3585e2672045e8e28e6a45f279f80aef446959Tripp (2) Enabling the various SSL caching mechanisms (shmcb, shmht)
6a3585e2672045e8e28e6a45f279f80aef446959Tripp (3) Enabling SSL extentions
6a3585e2672045e8e28e6a45f279f80aef446959Tripp (4) Trying to seperate the https filter logic from mod_ssl -
6a3585e2672045e8e28e6a45f279f80aef446959Tripp This is to facilitate other modules that wish to use the https
6a3585e2672045e8e28e6a45f279f80aef446959Tripp filter or the mod_ssl logic or both as required.
6a3585e2672045e8e28e6a45f279f80aef446959Tripp Justin: mod_ssl filter logic is redone, so that should be fine.
6a3585e2672045e8e28e6a45f279f80aef446959Tripp Madhu has submitted a patch for SSL caching - however, I
6a3585e2672045e8e28e6a45f279f80aef446959Tripp am -0 on that patch as I *think* we could implement the
6a3585e2672045e8e28e6a45f279f80aef446959Tripp shared memory another way that is much cleaner (i.e.
6a3585e2672045e8e28e6a45f279f80aef446959Tripp treat shmem directly as a dbm via APR routines). Justin
6a3585e2672045e8e28e6a45f279f80aef446959Tripp also thinks that the https filter logic may be sufficiently
6a3585e2672045e8e28e6a45f279f80aef446959Tripp decoupled now, but isn't really sure.
6a3585e2672045e8e28e6a45f279f80aef446959Tripp * Performance & Debug: Eliminate most (and perhaps all) of the
6a3585e2672045e8e28e6a45f279f80aef446959Tripp malloc/free calls in the bucket brigade code. Need some
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp light weight memory management functions that allow freeing
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp memory (putting it back into a memory pool) when it is no
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp longer needed. Enabling simple debugging features like guard
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp bands, double free detection, etc. would be cool but certainly
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp not a hard requirement.
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp Status: Cliff started to implement this using SMS as has
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp been discussed at length for months, but since
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp SMS is not being used anywhere else in the server,
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp several people expressed the opinion that we should
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp get rid of it entirely, meaning that the buckets
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp need their own memory management (free list) functions.
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp Cliff will implement that this weekend so we at least
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp have something to look at/compare with.
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp * Eliminate unnecessary creation of pipes in mod_cgid
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp Status: Ken asks, didn't Jeff fix this when he fixed the queue
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp * the autoconf setup should be fixed to default to using the
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp "Apache" layout from config.layout, and each variable settable
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp in a layout should be overridable on the command line. Plus,
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp what we do right now just doesn't seem to fully fit into how autoconf
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp works, eg. AC_PREFIX_DEFAULT issues.
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp Message-ID: <Pine.BSF.4.20.0104031557420.20876-100000@alive.znep.com>
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp * Combine log_child and piped_log_spawn. Clean up http_log.c.
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp Common logging API.
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp * Document mod_file_cache.
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp * Platforms that do not support fork (primarily Win32 and AS/400)
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp Architect start-up code that avoids initializing all the modules
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp in the parent process on platforms that do not support fork.
d1a404610f53bdff63cde29a00ea9cf48739d91eTripp * Win32: Migrate the MPM over to use APR thread/process calls. This
d1a404610f53bdff63cde29a00ea9cf48739d91eTripp would eliminate some code in the Win32 branch that essentially
d1a404610f53bdff63cde29a00ea9cf48739d91eTripp duplicates what is in APR.
d1a404610f53bdff63cde29a00ea9cf48739d91eTripp * There are still a number of places in the code where we are
d1a404610f53bdff63cde29a00ea9cf48739d91eTripp losing error status (i.e. throwing away the error returned by a
d1a404610f53bdff63cde29a00ea9cf48739d91eTripp system call and replacing it with a generic error code)
d1a404610f53bdff63cde29a00ea9cf48739d91eTripp * Mass vhosting version of suEXEC.
d1a404610f53bdff63cde29a00ea9cf48739d91eTripp * All DBMs suffer from confusion in support/dbmmanage (perl script) since
d1a404610f53bdff63cde29a00ea9cf48739d91eTripp the dbmmanage employs the first-matched dbm format. This is not
d1a404610f53bdff63cde29a00ea9cf48739d91eTripp necessarily the library that Apache was built with. Aught to
d1a404610f53bdff63cde29a00ea9cf48739d91eTripp rewrite dbmmanage upon installation to bin/ with the proper library
d1a404610f53bdff63cde29a00ea9cf48739d91eTripp for predictable mod_auth_dbm administration.
d1a404610f53bdff63cde29a00ea9cf48739d91eTripp Questions; htdbm exists, time to kill dbmmanage, or does it remain
d1a404610f53bdff63cde29a00ea9cf48739d91eTripp useful as a perl dbm management example? If we keep it,
d1a404610f53bdff63cde29a00ea9cf48739d91eTripp do we address the issue above?
d1a404610f53bdff63cde29a00ea9cf48739d91eTripp * Integrate mod_dav.
d1a404610f53bdff63cde29a00ea9cf48739d91eTripp Some additional items remaining:
d1a404610f53bdff63cde29a00ea9cf48739d91eTripp - case_preserved_filename stuff
d1a404610f53bdff63cde29a00ea9cf48739d91eTripp (use the new canonical name stuff?)
d1a404610f53bdff63cde29a00ea9cf48739d91eTripp - find a new home for ap_text(_header)
d1a404610f53bdff63cde29a00ea9cf48739d91eTripp - is it possible to remove the DAV: namespace stuff from util_xml?
d1a404610f53bdff63cde29a00ea9cf48739d91eTripp * ap_core_translate() and its use by mod_mmap_static and mod_file_cache
d1a404610f53bdff63cde29a00ea9cf48739d91eTripp are a bit wonky. The function should probably be exposed as a utility
d1a404610f53bdff63cde29a00ea9cf48739d91eTripp function (such as ap_translate_url2fs() or ap_validate_fs_url() or
d1a404610f53bdff63cde29a00ea9cf48739d91eTripp something). Another approach would be a new hook phase after
d1a404610f53bdff63cde29a00ea9cf48739d91eTripp "translate" which would allow the module to munge what the
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp translation has decided to do.
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp Status: Greg +1 (volunteers), Ryan +1
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp * Explore use of a post-config hook for the code in http_main.c which
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp calls ap_fixup_virutal_hosts(), ap_fini_vhost_config(), and
909133170c0bdbed7a7a4a885f39dd32fe961a7cTripp ap_sort_hooks() [to reduce the logic in main()]
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp * read the config tree just once, and process N times (as necessary)
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp * (possibly) use UUIDs in mod_unique_id and/or mod_usertrack
909133170c0bdbed7a7a4a885f39dd32fe961a7cTripp * (possibly) port the bug fix for PR 6942 (segv when LoadModule is put
909133170c0bdbed7a7a4a885f39dd32fe961a7cTripp into a VirtualHost container) to 2.0.
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp * shift stuff to mod_core.h
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp * callers of ap_run_create_request() should check the return value
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp for failure (Doug volunteers)
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp * Win32: Get Apache working on Windows 95/98. The following work
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp (at least) needs to be done:
e0caea9528bfbb244d27129aa9dea5aebc07fc18Tripp - winnt MPM: Fix 95/98 code paths in the winnt MPM. There is some NT
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp specific code that is still not in NT only code paths
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp - IOL binds to APR sendfile, implemented with TransmitFile, which
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp is not available on 95/98.
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp - Document warning that OSR2 is required (for Crypt functions, in
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp rand.c, at least.) This could be resolved with an SSL library, or
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp randomization in APR itself.
e0caea9528bfbb244d27129aa9dea5aebc07fc18Tripp - Bring the Win9xConHook.dll from 1.3 into 2.0 (no sense till it
e0caea9528bfbb244d27129aa9dea5aebc07fc18Tripp actually works) and add in a splash of Win9x service code.
e0caea9528bfbb244d27129aa9dea5aebc07fc18Tripp * In order to use a DSO version of mod_ssl we have to link with
e0caea9528bfbb244d27129aa9dea5aebc07fc18Tripp -lssl and -lcrypto. A workaround is in place right now where the
e0caea9528bfbb244d27129aa9dea5aebc07fc18Tripp entire EXTRA_LIBS macro is being appended to the objects list, but
e0caea9528bfbb244d27129aa9dea5aebc07fc18Tripp this is a hack. We should either revamp the APACHE_CHECK_SSL_TOOLKIT
e0caea9528bfbb244d27129aa9dea5aebc07fc18Tripp autoconf function or come up with some other autoconf checks to
e0caea9528bfbb244d27129aa9dea5aebc07fc18Tripp search for libssl and libcrypto and properly add them to mod_ssl's
e0caea9528bfbb244d27129aa9dea5aebc07fc18Tripp link flags.
e0caea9528bfbb244d27129aa9dea5aebc07fc18Tripp * Fix the worker MPM to use POD to kill child processes instead
e0caea9528bfbb244d27129aa9dea5aebc07fc18Tripp of ap_os_killpg, regardless of how they should die. (Ryan Bloom)
e0caea9528bfbb244d27129aa9dea5aebc07fc18TrippPRs that have been suspended forever waiting for someone to
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Trippput them into 'the next release':
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp * PR#76: general
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp missing call to "setlocale();"
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp * PR#78: mod_include
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp Additional status for XBitHack directive
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp * PR#362: mod_proxy
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp Mod_proxy doesn't allow change of error pages
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp * PR#370: mod_env
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp Modified PATH environemnt variable is not passed, instead
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp system's is used
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp * PR#440: mod_proxy
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp Proxy doesn't deliver documents if not connected
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp * PR#534: mod_proxy
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp proxy converts ~name to %7Ename when name starts with a dot (.)
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp * PR#537: mod_access
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp mod_access syntax allows hosts that should be restricted
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp * PR#557: mod_auth-any
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp ~UserHome directories are not honored in absolute pathname
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp requests (.htaccess)
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp * PR#612: mod_proxy
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp Proxy FTP Authentication Fails
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp * PR#623: mod_include
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp A smarter "Last Modified" value for SSI documents (see PR number 600)
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp * PR#628: config
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp Request of "Options SymLinksIfGroupMatch"
e0caea9528bfbb244d27129aa9dea5aebc07fc18Tripp * PR#700: mod_proxy
e0caea9528bfbb244d27129aa9dea5aebc07fc18Tripp Proxy doesn't do links right for OpenVMS files through ftp:
e0caea9528bfbb244d27129aa9dea5aebc07fc18Tripp * PR#759: mod_imap
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp imap should read <MAP><AREA>*</MAP> too!
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp * PR#793: general
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp RLimitCPU and RLimitMEM don't apply to all children like they should
e0caea9528bfbb244d27129aa9dea5aebc07fc18Tripp * PR#921: suexec
e0caea9528bfbb244d27129aa9dea5aebc07fc18Tripp Uses cwd before filling it in, doesn't use syslog
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp * PR#922: config
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp it is useful to allow specifiction that root-owned symlinks
e0caea9528bfbb244d27129aa9dea5aebc07fc18Tripp should always be followed
d1a404610f53bdff63cde29a00ea9cf48739d91eTripp * PR#980: mod_proxy
5e878519d1a8afcc3b0c5d9aa68d4751ed294c86Tripp Controlling Access to Remote Proxies would be nice...
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