STATUS revision 6a01f2d5ec2024b68edd1d42056b41a88dc0a935
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnellAPACHE 2.0 STATUS: -*-text-*-
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnellLast modified at [$Date: 2002/01/08 23:42:11 $]
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell 2.0.31 : In development
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell 2.0.30 : tagged January 8, 2002.
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell 2.0.29 : tagged November 27, 2001. not rolled.
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell 2.0.28 : released November 13, 2001
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell 2.0.27 : rolled November 6, 2001
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell 2.0.26 : tagged October 16, 2001. not rolled.
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell 2.0.25 : rolled August 29, 2001
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell 2.0.24 : rolled August 18, 2001
c299abfd457a72f3b93d443fe40ad36169e1c0a8Craig McDonnell 2.0.23 : rolled August 9, 2001
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell 2.0.22 : rolled July 29, 2001
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell 2.0.21 : rolled July 20, 2001
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell 2.0.20 : rolled July 8, 2001
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell 2.0.19 : rolled June 27, 2001
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell 2.0.18 : rolled May 18, 2001
e75c6d65fe5e0ad60142c1d8de92f292b48a419cBrian Bailey 2.0.17 : rolled April 17, 2001
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell 2.0.16 : rolled April 4, 2001
7e096ff5e7736b66508a73aef82875fe8886dd50Phill Cunnington 2.0.15 : rolled March 21, 2001
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell 2.0.14 : rolled March 7, 2001
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell 2.0a9 : released December 12, 2000
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell 2.0a8 : released November 20, 2000
27cd10751e64c5cc61f455d335fd0def04b438f2Phill Cunnington 2.0a7 : released October 8, 2000
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell 2.0a6 : released August 18, 2000
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell 2.0a5 : released August 4, 2000
7e096ff5e7736b66508a73aef82875fe8886dd50Phill Cunnington 2.0a4 : released June 7, 2000
7e096ff5e7736b66508a73aef82875fe8886dd50Phill Cunnington 2.0a3 : released April 28, 2000
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell 2.0a2 : released March 31, 2000
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell 2.0a1 : released March 10, 2000
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian BaileyPlease consult the following STATUS files for information
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnellon related projects:
7e096ff5e7736b66508a73aef82875fe8886dd50Phill CunningtonRELEASE SHOWSTOPPERS:
7e096ff5e7736b66508a73aef82875fe8886dd50Phill Cunnington * ap_directory_walk skips some per-dir config merge functions
8c9eb29c0e1c7f4daf92f45c22097ad279261f30Peter Major if there is no "<Directory />" block in the configuration
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell Message-ID: <m3itbdiijq.fsf@rdu163-40-092.nc.rr.com>
e75c6d65fe5e0ad60142c1d8de92f292b48a419cBrian Bailey * Test suite failures:
e75c6d65fe5e0ad60142c1d8de92f292b48a419cBrian Bailey o perchild doesn't even build
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell o worker is also failing some of the 'cgi' subtests
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell (see <URL:http://Source-Zone.Org/Apache/regression/>):
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell * If any request gets to the core handler, without a flag that this
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell r->filename was tested by dir/file_walk, we need to 500 at the very
cf7084cf20623b8a2d7da2cc101288f2cf516d67Craig McDonnell end of the ap_process_request_internal() processing. This provides
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell authors of older modules better compatibility, while still improving
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell the security and robustness of 2.0.
8c9eb29c0e1c7f4daf92f45c22097ad279261f30Peter Major Status: still need to decide where this goes, OtherBill comments...
8c9eb29c0e1c7f4daf92f45c22097ad279261f30Peter Major Message-ID: <065701c14526$495203b0$96c0b0d0@roweclan.net>
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell we need to look at halting this in the 'default handler' case,
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell and that implies pushing the 'handler election' into the request
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell internal processing phase from the run request phase.
8c9eb29c0e1c7f4daf92f45c22097ad279261f30Peter Major * There is a bug in how we sort some hooks, at least the pre-config
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell hook. The first time we call the hooks, they are in the correct
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell order, but the second time, we don't sort them correctly. Currently,
8c9eb29c0e1c7f4daf92f45c22097ad279261f30Peter Major the modules/http/config.m4 file has been renamed to
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell modules/http/config2.m4 to work around this problem, it should moved
8c9eb29c0e1c7f4daf92f45c22097ad279261f30Peter Major back when this is fixed. rbb
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell * The Add...Filter and Set...Filter directives do not allow the
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell administrator to order filters, beyond the order of filename (mime)
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell extensions. It isn't clear if Set...Filter(s) should be inserted
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell before or after the Add...Filter(s) which are ordered by sequence of
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell filename extensions. At minimum, some sort of +-[0-10] syntax seems
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell like the quickest fix for a 2.0 gold release.
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell * mod_negotiation needs a new option or directive, something like
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell ForceLanguagePriority, to fall back to the LanguagePriority
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell directive instead of returning a "no acceptable variant" error.
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell Status: Bill has some code in his tree that accomplishes
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell this, and will commit it Friday after it's tested.
65aec3bcc15efc129284b5f4b6ea08df488018a9Phill Cunnington * Fold mod_auth_db features back into mod_auth_dbm, and depricate it.
7e096ff5e7736b66508a73aef82875fe8886dd50Phill Cunnington This can't wait until we have a 2.0-gold release, if folks need
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell to move over to auth_dbm, we can't do that to them after 2.0 gold.
a128228d58ff618e487ffdc42c81dd5dee2bd022Craig McDonnell Status: Ian says.. auth_dbm can now handle multiple DBM types,
c299abfd457a72f3b93d443fe40ad36169e1c0a8Craig McDonnell is this still an issue?
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell Vote: Remove mod_auth_db
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell * Convert all instances of the old apr_lock_t type to the new
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell types (once they are fully supported in APR).
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell Status: Aaron is working on converting INTRAPROCESS
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell to apr_thread_mutex_t types. Full replacements for
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell LOCKALL and CROSS_PROCESS are not yet complete on all
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell platforms, and should only be used in MPMs like worker
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell with limited OS exposure.
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell * ap_create_scoreboard() can exit the process, leaving stuff like
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell mod_cgid's daemon process stranded. Either ap_create_scoreboard()
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell needs to be called at a different time or the pre-mpm hook needs
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell to be able to return an error code.
65aec3bcc15efc129284b5f4b6ea08df488018a9Phill CunningtonRELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell * Try to get libtool inter-library dependency code working on AIX.
c299abfd457a72f3b93d443fe40ad36169e1c0a8Craig McDonnell Message-ID: <cm3n10lx555.fsf@rdu163-40-092.nc.rr.com>
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey Justin says: If we get it working on AIX, we can enable this
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell on all platforms and clean up our build system
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell * Handling of %2f in URIs. Currently both 1.3 and 2.0
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell completely disallow %2f in the request URI path (see
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell ap_unescape_url() in util.c). It's permitted and passed
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell through in the query string, however. Roy says the
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell original reason for disallowing it, from five years ago,
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell was to protect CGI scripts that applied PATH_INFO to
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell a filesystem location and which might be tricked by
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell ..%2f..%2f(...). We *should* allow path-info of the
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell form 'http://foo.com/index.cgi/path/to/path%2finfo'.
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell Since we've revamped a lot of our processing of path
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell segments, it would be nice to allow this, or at least
65aec3bcc15efc129284b5f4b6ea08df488018a9Phill Cunnington allow it conditionally with a directive.
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell * FreeBSD, threads, and worker MPM. All seems to work fine
a128228d58ff618e487ffdc42c81dd5dee2bd022Craig McDonnell if you only have one worker process with many threads. Add
c299abfd457a72f3b93d443fe40ad36169e1c0a8Craig McDonnell a second worker process and the accept lock seems to be
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell lost. This might be an APR issue with how it deals with
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey the child_init hook (i.e. the fcntl lock needs to be resynced).
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell More examination and analysis is required.
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell Status: This has also been reported on Cygwin.
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell Message-ID: <3C2CC514.8EF3BED1@wapme-systems.de> (cygnus)
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell Justin says: So, FreeBSD-CURRENT and Cywin have the same
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell problem. Yum. If another platform has this
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell with worker, this becomes a showstopper.
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell Aaron says: I spent some time disecting this and have come to
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell the conclusion that it is not a problem in the worker MPM
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell (or at least, it is not isolated to a problem in worker).
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell I'll list some of the problems I'm seeing in case someone
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell else wants to pick up where I've left off:
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell - Delivery of just about any signal to one of the child
65aec3bcc15efc129284b5f4b6ea08df488018a9Phill Cunnington processes will send it into an infinite loop as well.
7e096ff5e7736b66508a73aef82875fe8886dd50Phill Cunnington - Even though the parent is spinning out of control,
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell at first the child or children will appear to work
a128228d58ff618e487ffdc42c81dd5dee2bd022Craig McDonnell properly. At times it is possible to get it into a state,
c299abfd457a72f3b93d443fe40ad36169e1c0a8Craig McDonnell however, where a request will hang until another concurrent
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell request "kicks" the first, at which point the second will
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey hang. My theory is that this has to do with the
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell pthread_cond_*() implementation in FreeBSD, but it's still
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell possible that it is in APR.
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell Justin adds: Oh, FreeBSD threads are implemented entirely with
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell select()/poll()/longjmp(). Welcome to the nightmare.
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell So, that means a ktrace output also has the thread
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell scheduling internals in it (since it is all the same to
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell the kernel). Which makes it hard to distinguish between
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell our select() calls and their select() calls.
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell *bangs head on wall repeatedly* But, some of the libc_r
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell files have a DBG_MSG #define. This is moderately helpful
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell when used with -DNO_DETACH. The kernel scheduler isn't
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell waking up the threads on a select(). Yum. And, I bet
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell those decrementing select calls have to do with the
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell scheduler. Time to brush up on our OS fundamentals.
7e096ff5e7736b66508a73aef82875fe8886dd50Phill Cunnington * There is increasing demand from module writers for an API
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell that will allow them to control the server � la apachectl.
a128228d58ff618e487ffdc42c81dd5dee2bd022Craig McDonnell Reasons include sole-function servers that need to die if
c299abfd457a72f3b93d443fe40ad36169e1c0a8Craig McDonnell an external dependency (e.g., a database) fails, et cetera.
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell Perhaps something in the (ever more abused) scoreboard?
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey rbb: I don't believe the scoreboard is the correct mechanism
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell for this. We already have a pipe that goes between parent
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell and child for graceful shutdown events, along with an API that
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell can be used to send a message down that pipe. In threaded MPMs,
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell it is easy enough to make that one pipe be used for graceful
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell and graceless events, and it is also easy to open that pipe
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell to both parent and child for writing. Then we just need to figure
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell out how to do graceless on non-threaded MPMs.
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell * revamp the input filter behavior, per discussions since
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell February (and especially at the hackathon last
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell April). Specifically, ap_get_brigade will return a brigade with
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell *up to* a specific number of bytes, or a "line" of data. The
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell read may be blocking or nonblocking. ap_getline() will be
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell refactored into apr_brigade_getline(), and then DECHUNK can use
65aec3bcc15efc129284b5f4b6ea08df488018a9Phill Cunnington f->next (ap_getline will always read "top of input stack"). Also
7e096ff5e7736b66508a73aef82875fe8886dd50Phill Cunnington fix the bug where request body content will end up closing the
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell connection (buggering up persistent conns).
a128228d58ff618e487ffdc42c81dd5dee2bd022Craig McDonnell Status: Justin is working on this as fast as he can.
c299abfd457a72f3b93d443fe40ad36169e1c0a8Craig McDonnell The core input filters, HTTP-related filters, mod_ssl, and
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell mod_proxy are switched to the new logic.
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey However, ap_getline() still needs to be refactored out. But,
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell there's a problem there: ap_getline() peeks ahead for MIME
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell continuation (first character on line is space or \t) and
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell stores unused data in core_request_config which violates the
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell abstraction. That's cheating. So, we may not be able to
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell implement this without setting some data aside (yuck!).
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell I believe this is OtherBill's main complaint with the current
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell AIUI (correct me if I'm wrong!), OtherBill believes we
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell should have a pushback option so that we can return unread
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell data - this would solve this case. However, my question to
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell him is how do we handle stuff like mod_ssl - we can't "unread"
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell data. So, do we have two brigades for each filter? An in
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell brigade and a returned brigade? That seems messy. To
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell everyone else, can we refactor ap_getline() without pushback
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell - socket bucket and core input filter changes. see end of
a128228d58ff618e487ffdc42c81dd5dee2bd022Craig McDonnell message ID (Feb 27): <20010227075326.S2297@lyra.org>
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell - fix up ap_get_brigade() semantics, fix bug in DECHUNK /
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey ap_getline. many messages (plus their threads) (Apr/May):
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell Message-ID: <20010402101207.J27539@lyra.org>
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell Message-ID: <3AF7F921.D2EEC41A@algroup.co.uk>
7e096ff5e7736b66508a73aef82875fe8886dd50Phill Cunnington Message-ID: <20010508190029.E18404@lyra.org>
7e096ff5e7736b66508a73aef82875fe8886dd50Phill Cunnington - further work with combining/tweaking the builtin filters:
7e096ff5e7736b66508a73aef82875fe8886dd50Phill Cunnington Message-ID: <20010509115445.D1374@lyra.org>
7e096ff5e7736b66508a73aef82875fe8886dd50Phill Cunnington - thoughts on filter modes:
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey Message-ID: <021b01c14dee$09782af0$93c0b0d0@roweclan.net>
7e096ff5e7736b66508a73aef82875fe8886dd50Phill Cunnington - proposal for getline rewrite:
7e096ff5e7736b66508a73aef82875fe8886dd50Phill Cunnington Message-ID: <20011231104019.GD3904@ebuilt.com>
7e096ff5e7736b66508a73aef82875fe8886dd50Phill Cunnington * Allow the DocumentRoot directive within <Location > scopes? This
7e096ff5e7736b66508a73aef82875fe8886dd50Phill Cunnington allows the beloved (crusty) Alias /foo/ /somepath/foo/ followed
7e096ff5e7736b66508a73aef82875fe8886dd50Phill Cunnington by a <Directory /somepath/foo> to become simply
8c9eb29c0e1c7f4daf92f45c22097ad279261f30Peter Major <Location /foo/> DocumentRoot /somefile/foo (IMHO a bit more legible
8c9eb29c0e1c7f4daf92f45c22097ad279261f30Peter Major and in-your-face.) DocumentRoot unset would be accepted [and would
8c9eb29c0e1c7f4daf92f45c22097ad279261f30Peter Major not permit content to be served, only virtual resources such as
8c9eb29c0e1c7f4daf92f45c22097ad279261f30Peter Major server-info or server-status.
8c9eb29c0e1c7f4daf92f45c22097ad279261f30Peter Major This proposed change would _not_ depricate Alias.
7e096ff5e7736b66508a73aef82875fe8886dd50Phill Cunnington * Win32: Rotatelogs sometimes is not terminated when Apache
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell goes down hard. FirstBill was looking at possibly tracking the
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell child's-child processes in the parent process.
a128228d58ff618e487ffdc42c81dd5dee2bd022Craig McDonnell OtherBill asks, wasn't this fixed?
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell * Win32: Add a simple hold console open patch (wait for close or
e75c6d65fe5e0ad60142c1d8de92f292b48a419cBrian Bailey the ESC key, with a nice message) if the server died a bad
e75c6d65fe5e0ad60142c1d8de92f292b48a419cBrian Bailey death (non-zero exit code) in console mode.
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey Resolution: bring forward same ugly hacks from 1.3.13-.20
e75c6d65fe5e0ad60142c1d8de92f292b48a419cBrian Bailey * Port of mod_ssl to Apache 2.0:
e75c6d65fe5e0ad60142c1d8de92f292b48a419cBrian Bailey The current porting state is summarized in modules/ssl/README. The
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey remaining work includes:
e75c6d65fe5e0ad60142c1d8de92f292b48a419cBrian Bailey (1) stablizing/optimizing the SSL filter logic
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey (2) Enabling the various SSL caching mechanisms (shmcb, shmht)
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey (3) Enabling SSL extentions
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey (4) Trying to seperate the https filter logic from mod_ssl -
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey This is to facilitate other modules that wish to use the https
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey filter or the mod_ssl logic or both as required.
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey Justin: mod_ssl filter logic is redone, so that should be fine.
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey Madhu has submitted a patch for SSL caching - however, I
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey am -0 on that patch as I *think* we could implement the
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey shared memory another way that is much cleaner (i.e.
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey treat shmem directly as a dbm via APR routines). Justin
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey also thinks that the https filter logic may be sufficiently
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey decoupled now, but isn't really sure.
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey * Performance: Get the SINGLE_LISTEN_UNSERIALIZED_ACCEPT
1205868c0dda7bc4bbaac88c7263355748e80967Brian Bailey optimization working in worker. prefork's new design for how
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey to notice data on the pod should be sufficient.
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey * Performance & Debug: Eliminate most (and perhaps all) of the
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey malloc/free calls in the bucket brigade code. Need some
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey light weight memory management functions that allow freeing
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey memory (putting it back into a memory pool) when it is no
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey longer needed. Enabling simple debugging features like guard
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey bands, double free detection, etc. would be cool but certainly
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey not a hard requirement.
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey Status: Cliff started to implement this using SMS as has
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey been discussed at length for months, but since
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey SMS is not being used anywhere else in the server,
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey several people expressed the opinion that we should
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey get rid of it entirely, meaning that the buckets
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey need their own memory management (free list) functions.
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey Cliff will implement that this weekend so we at least
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey have something to look at/compare with.
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey * Eliminate unnecessary creation of pipes in mod_cgid
1205868c0dda7bc4bbaac88c7263355748e80967Brian Bailey * the autoconf setup should be fixed to default to using the
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey "Apache" layout from config.layout, and each variable settable
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey in a layout should be overridable on the command line. Plus,
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey what we do right now just doesn't seem to fully fit into how autoconf
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey works, eg. AC_PREFIX_DEFAULT issues.
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey Message-ID: <Pine.BSF.4.20.0104031557420.20876-100000@alive.znep.com>
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey * Combine log_child and piped_log_spawn. Clean up http_log.c.
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey Common logging API.
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey * Document mod_file_cache.
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey * OS/2: Make mod_status work for spmt_os2 MPM.
1205868c0dda7bc4bbaac88c7263355748e80967Brian Bailey * Platforms that do not support fork (primarily Win32 and AS/400)
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey Architect start-up code that avoids initializing all the modules
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey in the parent process on platforms that do not support fork.
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey * Win32: Migrate the MPM over to use APR thread/process calls. This
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey would eliminate some code in the Win32 branch that essentially
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey duplicates what is in APR.
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey * There are still a number of places in the code where we are
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey losing error status (i.e. throwing away the error returned by a
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey system call and replacing it with a generic error code)
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey * Mass vhosting version of suEXEC.
1205868c0dda7bc4bbaac88c7263355748e80967Brian Bailey * All DBMs suffer from confusion in support/dbmmanage (perl script) since
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey the dbmmanage employs the first-matched dbm format. This is not
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey necessarily the library that Apache was built with. Aught to
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey rewrite dbmmanage upon installation to bin/ with the proper library
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey for predictable mod_auth_db/dbm administration.
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey Status: Mladen Turk has posted several patches and ideas.
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey Key question, part of htpasswd, or a seperate utility?
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey prefer htpasswd:
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey prefer seperate: OtherBill
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey * use apu_dbm in mod_auth_dbm
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey Status: Greg +1 (low-priority volunteer)
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey Justin says: "Seems like this is already there, so should we just
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey remove the other DBM code in that file? If you want
1205868c0dda7bc4bbaac88c7263355748e80967Brian Bailey to use gdbm, or dbm, etc, you should tell apr-util."
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey Will says: "bs - I may choose the fastest - most efficient native
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey dbm implementation, for shared proc caches, ssl session
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey caching, etc, but that has nothing to do with maintaining
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey a userlist via dbm, which has to remain readable between
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey builds/machines, etc. The use-multiple database schema
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey for apr-util would let us do this with just apr, though."
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey Ian says: "multi-dbm is in, but it still has ndbm support hardcoded
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey is this still required? isn't ndbm supported via gdbm?"
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey * Integrate mod_dav.
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey Some additional items remaining:
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey - case_preserved_filename stuff
1205868c0dda7bc4bbaac88c7263355748e80967Brian Bailey (use the new canonical name stuff?)
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey - find a new home for ap_text(_header)
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey - is it possible to remove the DAV: namespace stuff from util_xml?
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey * ap_core_translate() and its use by mod_mmap_static and mod_file_cache
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey are a bit wonky. The function should probably be exposed as a utility
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey function (such as ap_translate_url2fs() or ap_validate_fs_url() or
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey something). Another approach would be a new hook phase after
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey "translate" which would allow the module to munge what the
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey translation has decided to do.
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey Status: Greg +1 (volunteers), Ryan +1
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey * Explore use of a post-config hook for the code in http_main.c which
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey calls ap_fixup_virutal_hosts(), ap_fini_vhost_config(), and
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey ap_sort_hooks() [to reduce the logic in main()]
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey * read the config tree just once, and process N times (as necessary)
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey * (possibly) use UUIDs in mod_unique_id and/or mod_usertrack
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey * (possibly) port the bug fix for PR 6942 (segv when LoadModule is put
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey into a VirtualHost container) to 2.0.
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey * shift stuff to mod_core.h
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey * callers of ap_run_create_request() should check the return value
986f84a2e76f4d71ae526e4b48bd0eef832ce724Brian Bailey for failure (Doug volunteers)
1205868c0dda7bc4bbaac88c7263355748e80967Brian Bailey * Win32: Get Apache working on Windows 95/98. The following work
e75c6d65fe5e0ad60142c1d8de92f292b48a419cBrian Bailey (at least) needs to be done:
e75c6d65fe5e0ad60142c1d8de92f292b48a419cBrian Bailey - winnt MPM: Fix 95/98 code paths in the winnt MPM. There is some NT
c41afae22a384b36fb87898874800d8a99f43315Craig McDonnell specific code that is still not in NT only code paths
rand.c, at least.) This could be resolved with an SSL library, or
- Bring the Win9xConHook.dll from 1.3 into 2.0 (no sense till it
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