STATUS revision f38720f0bc7a117bc4070677a39574c6ea0c62fc
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinAPACHE 2.0 STATUS: -*-text-*-
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinLast modified at [$Date: 2002/02/01 13:16:00 $]
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
3e14f97f673e8a630f076077de35afdd43dc1587Roger A. FaulknerRelease:
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 2.0.32 : in development
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin 2.0.31 : tagged January 30, 2002.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 2.0.30 : tagged January 8, 2002. not rolled.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 2.0.29 : tagged November 27, 2001. not rolled.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 2.0.28 : released November 13, 2001
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 2.0.27 : rolled November 6, 2001
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 2.0.26 : tagged October 16, 2001. not rolled.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 2.0.25 : rolled August 29, 2001
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 2.0.24 : rolled August 18, 2001
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 2.0.23 : rolled August 9, 2001
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 2.0.22 : rolled July 29, 2001
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 2.0.21 : rolled July 20, 2001
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 2.0.20 : rolled July 8, 2001
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 2.0.19 : rolled June 27, 2001
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 2.0.18 : rolled May 18, 2001
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 2.0.17 : rolled April 17, 2001
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 2.0.16 : rolled April 4, 2001
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 2.0.15 : rolled March 21, 2001
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 2.0.14 : rolled March 7, 2001
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 2.0a9 : released December 12, 2000
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 2.0a8 : released November 20, 2000
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 2.0a7 : released October 8, 2000
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 2.0a6 : released August 18, 2000
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 2.0a5 : released August 4, 2000
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 2.0a4 : released June 7, 2000
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 2.0a3 : released April 28, 2000
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 2.0a2 : released March 31, 2000
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 2.0a1 : released March 10, 2000
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinPlease consult the following STATUS files for information
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinon related projects:
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * srclib/apr/STATUS
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * srclib/apr-util/STATUS
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * docs/STATUS
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinRELEASE SHOWSTOPPERS:
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * Runtime startup failures don't reliably set the exit status.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin For instance, try listening to port 80 and starting as non-root;
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin server fails with make_sock and 'no listening sockets' errors
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin but exits with 0 status. Even with -DONE_PROCESS -DNO_DETACH.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Justin says: "Is this really a showstopper? Most people won't
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin be using -DNO_DETACH and will look at the error
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin logs anyway."
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Not a showstopper: trawick
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * ap_directory_walk skips some per-dir config merge functions
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin if there is no "<Directory />" block in the configuration
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Message-ID: <m3itbdiijq.fsf@rdu163-40-092.nc.rr.com>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * That is very unlikely, merges are additive. Much more likely,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin the default SetOutputFilter default or merge is borked.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Unless it's the code that permits 'null' merges, per module.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Still, it's probably in SetOutputFilter's behavior.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * Test suite failures:
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin o worker is also failing some of the 'cgi' subtests
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin (see <URL:http://Source-Zone.Org/Apache/regression/>):
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Justin says: "Worker should be fine and passes httpd-test here."
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * If any request gets to the core handler, without a flag that this
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin r->filename was tested by dir/file_walk, we need to 500 at the very
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin end of the ap_process_request_internal() processing. This provides
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin authors of older modules better compatibility, while still improving
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin the security and robustness of 2.0.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Status: still need to decide where this goes, OtherBill comments...
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Message-ID: <065701c14526$495203b0$96c0b0d0@roweclan.net>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin we need to look at halting this in the 'default handler' case,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin and that implies pushing the 'handler election' into the request
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin internal processing phase from the run request phase.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * There is a bug in how we sort some hooks, at least the pre-config
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin hook. The first time we call the hooks, they are in the correct
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin order, but the second time, we don't sort them correctly. Currently,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin the modules/http/config.m4 file has been renamed to
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin modules/http/config2.m4 to work around this problem, it should moved
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin back when this is fixed. rbb
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Justin says: "Is this really a showstopper? This has been here
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin forever. What's wrong? Does this have to do with
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin autoconf or m4?"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * The Add...Filter and Set...Filter directives do not allow the
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin administrator to order filters, beyond the order of filename (mime)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin extensions. It isn't clear if Set...Filter(s) should be inserted
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin before or after the Add...Filter(s) which are ordered by sequence of
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin filename extensions. At minimum, some sort of +-[0-10] syntax seems
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin like the quickest fix for a 2.0 gold release.
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin Justin says: "Could we delay this for a point release or 2.1?"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Not a showstopper: justin, wrowe, trawick
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin * Convert all instances of the old apr_lock_t type to the new
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin types (once they are fully supported in APR).
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin Status: Aaron is working on converting INTRAPROCESS
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin to apr_thread_mutex_t types. Full replacements for
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin LOCKALL and CROSS_PROCESS are not yet complete on all
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin platforms, and should only be used in MPMs like worker
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin with limited OS exposure.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * A binbuild installation picks up the right libraries when
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin running apachectl because we set the appropriate environment
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin variable, but ab, htpasswd, etc. don't know how to pick up apr,
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin apr-util, etc.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Message-ID: <20020116000226.GA15991@ebuilt.com>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Justin says: "You could always build all of the binaries
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin statically if you don't want to let libtool
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin handle it. At most, I don't consider this a
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin a release showstopper as it is a packaging issue."
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Status: Aaron volunteers: I'll commit a patch to allow all
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin the support binaries to be built statically against
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin libapr/libaprutil/etc and then enable it in binbuild.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinRELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * If the parent process dies, should the remaining child processes
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin "gracefully" self-terminate.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Message-ID: <3C58232C.FE91F19F@Golux.Com>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin +1: Jim, Justin, Ken
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin -1: BrianP
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * Make some modifications to the scoreboard creation routines,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin prefer anonymous shared memory, and allow a configuration
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin directive to override the defaults.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Message-ID: <20020130080804.C16977@clove.org>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Status: Aaron volunteers
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * Get perchild to work on platforms other than Linux. This
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin will require a portable mechanism to pass data and file/socket
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin descriptors between vhost child groups. An API was proposed
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin on dev@apr:
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Message-ID: <20020111115006.K1529@clove.org>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Vote: Is a non-portable perchild going to hold up a GA release?
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Yes:
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin No: Aaron, Justin, trawick
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * Modify the worker MPM so that it doesn't need to create and
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin destroy a pool for each request--possibly by adopting a
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin leader/follower model in which each worker owns a persistent
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin ptrans pool (like the prefork MPM) and the workers take
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin turns acting as listeners...this approach might also help
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin reduce context-switching
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * CGI single-byte reads
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin BrianP suggests that this is caused by the ap_scan_script_header_err()
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin routine, which will do single-byte reads until it finds the end
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin of the header, at which point it constructs a pipe-bucket (buffered)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin to read from.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Proposed solution in:
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Message-ID: <3C36ADAF.60601@cnet.com>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * Try to get libtool inter-library dependency code working on AIX.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Message-ID: <cm3n10lx555.fsf@rdu163-40-092.nc.rr.com>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Justin says: If we get it working on AIX, we can enable this
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin on all platforms and clean up our build system
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin somewhat.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * Handling of %2f in URIs. Currently both 1.3 and 2.0
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin completely disallow %2f in the request URI path (see
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin ap_unescape_url() in util.c). It's permitted and passed
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin through in the query string, however. Roy says the
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin original reason for disallowing it, from five years ago,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin was to protect CGI scripts that applied PATH_INFO to
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin a filesystem location and which might be tricked by
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin ..%2f..%2f(...). We *should* allow path-info of the
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin form 'http://foo.com/index.cgi/path/to/path%2finfo'.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Since we've revamped a lot of our processing of path
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin segments, it would be nice to allow this, or at least
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin allow it conditionally with a directive.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * FreeBSD, threads, and worker MPM. All seems to work fine
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin if you only have one worker process with many threads. Add
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin a second worker process and the accept lock seems to be
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin lost. This might be an APR issue with how it deals with
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin the child_init hook (i.e. the fcntl lock needs to be resynced).
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin More examination and analysis is required.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Status: This has also been reported on Cygwin.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Message-ID: <3C2CC514.8EF3BED1@wapme-systems.de> (cygnus)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Justin says: So, FreeBSD-CURRENT and Cywin have the same
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin problem. Yum. If another platform has this
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin with worker, this becomes a showstopper.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Aaron says: I spent some time disecting this and have come to
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin the conclusion that it is not a problem in the worker MPM
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin (or at least, it is not isolated to a problem in worker).
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin I'll list some of the problems I'm seeing in case someone
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin else wants to pick up where I've left off:
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin - Delivery of just about any signal to one of the child
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin processes will send it into an infinite loop as well.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin - Even though the parent is spinning out of control,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin at first the child or children will appear to work
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin properly. At times it is possible to get it into a state,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin however, where a request will hang until another concurrent
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin request "kicks" the first, at which point the second will
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin hang. My theory is that this has to do with the
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin pthread_cond_*() implementation in FreeBSD, but it's still
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin possible that it is in APR.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Justin adds: Oh, FreeBSD threads are implemented entirely with
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin select()/poll()/longjmp(). Welcome to the nightmare.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin So, that means a ktrace output also has the thread
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin scheduling internals in it (since it is all the same to
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin the kernel). Which makes it hard to distinguish between
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin our select() calls and their select() calls.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin *bangs head on wall repeatedly* But, some of the libc_r
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin files have a DBG_MSG #define. This is moderately helpful
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin when used with -DNO_DETACH. The kernel scheduler isn't
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin waking up the threads on a select(). Yum. And, I bet
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin those decrementing select calls have to do with the
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin scheduler. Time to brush up on our OS fundamentals.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * There is increasing demand from module writers for an API
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin that will allow them to control the server � la apachectl.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Reasons include sole-function servers that need to die if
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin an external dependency (e.g., a database) fails, et cetera.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Perhaps something in the (ever more abused) scoreboard?
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin rbb: I don't believe the scoreboard is the correct mechanism
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin for this. We already have a pipe that goes between parent
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin and child for graceful shutdown events, along with an API that
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin can be used to send a message down that pipe. In threaded MPMs,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin it is easy enough to make that one pipe be used for graceful
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin and graceless events, and it is also easy to open that pipe
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin to both parent and child for writing. Then we just need to figure
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin out how to do graceless on non-threaded MPMs.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * revamp the input filter behavior, per discussions since
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin February (and especially at the hackathon last
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin April). Specifically, ap_get_brigade will return a brigade with
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin *up to* a specific number of bytes, or a "line" of data. The
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin read may be blocking or nonblocking. ap_getline() will be
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin refactored into apr_brigade_getline(), and then DECHUNK can use
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin f->next (ap_getline will always read "top of input stack"). Also
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin fix the bug where request body content will end up closing the
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin connection (buggering up persistent conns).
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Status: Justin is working on this as fast as he can.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin The core input filters, HTTP-related filters, mod_ssl, and
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin mod_proxy are switched to the new logic.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin However, ap_getline() still needs to be refactored out. But,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin there's a problem there: ap_getline() peeks ahead for MIME
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin continuation (first character on line is space or \t) and
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin stores unused data in core_request_config which violates the
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin abstraction. That's cheating. So, we may not be able to
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin implement this without setting some data aside (yuck!).
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin I believe this is OtherBill's main complaint with the current
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin filtering.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin AIUI (correct me if I'm wrong!), OtherBill believes we
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin should have a pushback option so that we can return unread
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin data - this would solve this case. However, my question to
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin him is how do we handle stuff like mod_ssl - we can't "unread"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin data. So, do we have two brigades for each filter? An in
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin brigade and a returned brigade? That seems messy. To
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin everyone else, can we refactor ap_getline() without pushback
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin and how?
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin - socket bucket and core input filter changes. see end of
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin message ID (Feb 27): <20010227075326.S2297@lyra.org>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin - fix up ap_get_brigade() semantics, fix bug in DECHUNK /
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin ap_getline. many messages (plus their threads) (Apr/May):
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Message-ID: <20010402101207.J27539@lyra.org>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Message-ID: <3AF7F921.D2EEC41A@algroup.co.uk>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Message-ID: <20010508190029.E18404@lyra.org>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin - further work with combining/tweaking the builtin filters:
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Message-ID: <20010509115445.D1374@lyra.org>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin - thoughts on filter modes:
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Message-ID: <021b01c14dee$09782af0$93c0b0d0@roweclan.net>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin - proposal for getline rewrite:
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Message-ID: <20011231104019.GD3904@ebuilt.com>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin - patch for getline rewrite:
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Message-ID: <20020122072605.GF28051@ebuilt.com>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin - Change ap_get_brigade prototype:
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Message-ID: <20020120115136.GI17601@ebuilt.com>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * Allow the DocumentRoot directive within <Location > scopes? This
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin allows the beloved (crusty) Alias /foo/ /somepath/foo/ followed
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin by a <Directory /somepath/foo> to become simply
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin <Location /foo/> DocumentRoot /somefile/foo (IMHO a bit more legible
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin and in-your-face.) DocumentRoot unset would be accepted [and would
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin not permit content to be served, only virtual resources such as
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin server-info or server-status.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin This proposed change would _not_ depricate Alias.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * Win32: Rotatelogs sometimes is not terminated when Apache
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin goes down hard. FirstBill was looking at possibly tracking the
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin child's-child processes in the parent process.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin OtherBill asks, wasn't this fixed?
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin OtherBill asks again, what is the status?
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * Win32: Add a simple hold console open patch (wait for close or
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin the ESC key, with a nice message) if the server died a bad
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin death (non-zero exit code) in console mode.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Resolution: bring forward same ugly hacks from 1.3.13-.20
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * Port of mod_ssl to Apache 2.0:
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin The current porting state is summarized in modules/ssl/README. The
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin remaining work includes:
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin (1) stablizing/optimizing the SSL filter logic
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin (2) Enabling the various SSL caching mechanisms (shmcb, shmht)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin (3) Enabling SSL extentions
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin (4) Trying to seperate the https filter logic from mod_ssl -
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin This is to facilitate other modules that wish to use the https
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin filter or the mod_ssl logic or both as required.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Justin: mod_ssl filter logic is redone, so that should be fine.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Madhu has submitted a patch for SSL caching - however, I
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin am -0 on that patch as I *think* we could implement the
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin shared memory another way that is much cleaner (i.e.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin treat shmem directly as a dbm via APR routines). Justin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin also thinks that the https filter logic may be sufficiently
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin decoupled now, but isn't really sure.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * Performance & Debug: Eliminate most (and perhaps all) of the
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin malloc/free calls in the bucket brigade code. Need some
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin light weight memory management functions that allow freeing
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin memory (putting it back into a memory pool) when it is no
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin longer needed. Enabling simple debugging features like guard
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin bands, double free detection, etc. would be cool but certainly
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin not a hard requirement.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Status: Cliff started to implement this using SMS as has
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin been discussed at length for months, but since
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin SMS is not being used anywhere else in the server,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin several people expressed the opinion that we should
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin get rid of it entirely, meaning that the buckets
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin need their own memory management (free list) functions.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Cliff will implement that this weekend so we at least
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin have something to look at/compare with.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * Eliminate unnecessary creation of pipes in mod_cgid
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * the autoconf setup should be fixed to default to using the
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin "Apache" layout from config.layout, and each variable settable
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin in a layout should be overridable on the command line. Plus,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin what we do right now just doesn't seem to fully fit into how autoconf
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin works, eg. AC_PREFIX_DEFAULT issues.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Message-ID: <Pine.BSF.4.20.0104031557420.20876-100000@alive.znep.com>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * Combine log_child and piped_log_spawn. Clean up http_log.c.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Common logging API.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * Document mod_file_cache.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * Platforms that do not support fork (primarily Win32 and AS/400)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Architect start-up code that avoids initializing all the modules
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin in the parent process on platforms that do not support fork.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * Win32: Migrate the MPM over to use APR thread/process calls. This
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin would eliminate some code in the Win32 branch that essentially
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin duplicates what is in APR.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * There are still a number of places in the code where we are
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin losing error status (i.e. throwing away the error returned by a
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin system call and replacing it with a generic error code)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * Mass vhosting version of suEXEC.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * All DBMs suffer from confusion in support/dbmmanage (perl script) since
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin the dbmmanage employs the first-matched dbm format. This is not
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin necessarily the library that Apache was built with. Aught to
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin rewrite dbmmanage upon installation to bin/ with the proper library
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin for predictable mod_auth_dbm administration.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Questions; htdbm exists, time to kill dbmmanage, or does it remain
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin useful as a perl dbm management example? If we keep it,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin do we address the issue above?
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * use apu_dbm in mod_auth_dbm
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Status: Greg +1 (low-priority volunteer)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Justin says: "Seems like this is already there, so should we just
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin remove the other DBM code in that file? If you want
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin to use gdbm, or dbm, etc, you should tell apr-util."
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Will says: "bs - I may choose the fastest - most efficient native
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin dbm implementation, for shared proc caches, ssl session
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin caching, etc, but that has nothing to do with maintaining
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin a userlist via dbm, which has to remain readable between
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin builds/machines, etc. The use-multiple database schema
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin for apr-util would let us do this with just apr, though."
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Ian says: "multi-dbm is in, but it still has ndbm support hardcoded
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin is this still required? isn't ndbm supported via gdbm?"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * Integrate mod_dav.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin Some additional items remaining:
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin - case_preserved_filename stuff
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin (use the new canonical name stuff?)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin - find a new home for ap_text(_header)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin - is it possible to remove the DAV: namespace stuff from util_xml?
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * ap_core_translate() and its use by mod_mmap_static and mod_file_cache
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin are a bit wonky. The function should probably be exposed as a utility
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin function (such as ap_translate_url2fs() or ap_validate_fs_url() or
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin something). Another approach would be a new hook phase after
"translate" which would allow the module to munge what the
translation has decided to do.
Status: Greg +1 (volunteers), Ryan +1
* Explore use of a post-config hook for the code in http_main.c which
calls ap_fixup_virutal_hosts(), ap_fini_vhost_config(), and
ap_sort_hooks() [to reduce the logic in main()]
* read the config tree just once, and process N times (as necessary)
* (possibly) use UUIDs in mod_unique_id and/or mod_usertrack
* (possibly) port the bug fix for PR 6942 (segv when LoadModule is put
into a VirtualHost container) to 2.0.
* shift stuff to mod_core.h
* callers of ap_run_create_request() should check the return value
for failure (Doug volunteers)
* Win32: Get Apache working on Windows 95/98. The following work
(at least) needs to be done:
- winnt MPM: Fix 95/98 code paths in the winnt MPM. There is some NT
specific code that is still not in NT only code paths
- IOL binds to APR sendfile, implemented with TransmitFile, which
is not available on 95/98.
- Document warning that OSR2 is required (for Crypt functions, in
rand.c, at least.) This could be resolved with an SSL library, or
randomization in APR itself.
- Bring the Win9xConHook.dll from 1.3 into 2.0 (no sense till it
actually works) and add in a splash of Win9x service code.
* In order to use a DSO version of mod_ssl we have to link with
-lssl and -lcrypto. A workaround is in place right now where the
entire EXTRA_LIBS macro is being appended to the objects list, but
this is a hack. We should either revamp the APACHE_CHECK_SSL_TOOLKIT
autoconf function or come up with some other autoconf checks to
search for libssl and libcrypto and properly add them to mod_ssl's
link flags.
* Make the worker MPM the default MPM for threaded Unix boxes.
+1: Justin, Jeff, Ian
-0: Aaron (premature decision, needs more discussion), Lars
-0: Cliff (I think the default config should be the safest possible)
* Fix the worker MPM to use POD to kill child processes instead
of ap_os_killpg, regardless of how they should die. (Ryan Bloom)
PRs that have been suspended forever waiting for someone to
put them into 'the next release':
* PR#76: general
missing call to "setlocale();"
Status:
* PR#78: mod_include
Additional status for XBitHack directive
Status:
* PR#362: mod_proxy
Mod_proxy doesn't allow change of error pages
Status:
* PR#370: mod_env
Modified PATH environemnt variable is not passed, instead
system's is used
Status:
* PR#440: mod_proxy
Proxy doesn't deliver documents if not connected
Status:
* PR#534: mod_proxy
proxy converts ~name to %7Ename when name starts with a dot (.)
Status:
* PR#537: mod_access
mod_access syntax allows hosts that should be restricted
Status:
* PR#557: mod_auth-any
~UserHome directories are not honored in absolute pathname
requests (.htaccess)
Status:
* PR#612: mod_proxy
Proxy FTP Authentication Fails
Status:
* PR#623: mod_include
A smarter "Last Modified" value for SSI documents (see PR number 600)
Status:
* PR#628: config
Request of "Options SymLinksIfGroupMatch"
Status:
* PR#700: mod_proxy
Proxy doesn't do links right for OpenVMS files through ftp:
Status:
* PR#759: mod_imap
imap should read <MAP><AREA>*</MAP> too!
Status:
* PR#793: general
RLimitCPU and RLimitMEM don't apply to all children like they should
Status:
* PR#921: suexec
Uses cwd before filling it in, doesn't use syslog
Status:
* PR#922: config
it is useful to allow specifiction that root-owned symlinks
should always be followed
Status:
* PR#980: mod_proxy
Controlling Access to Remote Proxies would be nice...
Status:
* PR#994: mod_proxy
Adding authentication "on the fly" through the proxy module
Status:
* PR#1004: apache-api
request_config field in request_rec is moderately bogus
Status:
* PR#1028: other
DoS attacks involving memory consumption
Status:
* PR#1050: mod_log-any
Logging of virtual server to error_log as well
Status:
* PR#1085: mod_proxy
ProxyRemote make a dead cycle.
Status:
* PR#1117: mod_auth-any
Using NIS passwd.byname dbm files with AuthDBMUserFile
Status:
* PR#1120: suexec
suexec does not parse arguments to #exec cmd
Status:
* PR#1145: mod_include
Allow for Last-Modified: without resorting to XBitHack
Status:
* PR#1158: apache-api
improvements to child spawning API
Status:
* PR#1166: mod_proxy
``nph-'' not honored (no buffering) for ProxyRemote mapping
Status:
* PR#1176: mod_cgi
Apache cannot handle continuation line in headers
Status:
* PR#1191: general
setlogin() is not called, causing problems with e.g. identd
Status:
* PR#1204: general
regerror() exists, use it
Status:
* PR#1233: apache-api
there is no way to keep per-connection per-module state
Status:
* PR#1263: mod_autoexec
Add frame-safe anchor attribute to mod_autoindex links
Status:
* PR#1268: suexec
CGI scripts running as Apache user: security (suexec etc.)
Status:
* PR#1285: suexec
Error messages could be easier to spot in cgi.log file for suexec.c
Status:
* PR#1287: mod_access
add allow,deny/deny,allow warning to mod_access
Status:
* PR#1290: mod_proxy
Need to know "hit-rate" on proxy cache
Status:
* PR#1358: mod_log-any
Selective url-encode of log fields (or maybe a pseudo
log_rewrite module?)
Status:
* PR#1383: mod_headers
I make mod_headers to modify request headers as well as
response ones.
Status:
* PR#1532: mod_proxy
Proxy transfer logging
Status:
* PR#1547: mod_proxy
No HTTP_X_FORWARDED_FOR set...
Status:
* PR#1567: mod_proxy
ProxyRemote proxy requests fail authentication by firewall
Status:
* PR#1582: mod_rewrite
mod_rewrite forms REQUEST_URI different than mod_cgi does
Status:
* PR#1677: mod_headers
mod_headers should allow mod_log_config-style formats in
header values
Status:
* PR#1702: mod_proxy
mod_proxy to support persistent conns?
Status:
* PR#1803: mod_include
patches to mod_include to allow for file tests
Status:
* PR#1809: mod_auth-any
Suggestion for improving authentication modules and core source
code, problem with 401 and ErrorDocument
Status:
* PR#1878: mod_proxy
listing of proxy cache content
Status:
* PR#1905: suexec
Allow modules to set user:group for execution.
Status:
* PR#2024: apache-api
adding auth_why to conn_rec
Status:
* PR#2073: mod_log-any
pipelined connections are not logged correctly
Status:
* PR#2074: mod_rewrite
mod_rewrite doesn't pass Proxy Throughput on internal subrequests
Status:
* PR#2113: config
HTTP Server Rebuild Line Needs Changing for the better
Status:
* PR#2138: mod_status
mod_status always displays 256 possible connection slots
Status:
* PR#2221: documentation
Make online documentation search link back to my installation
Status:
* PR#2284: general
Can not POST to ErrorDocument - Apache/1.3b6
Status:
* PR#2314: mod_proxy
patterns in ProxyRemote
Status:
* PR#2343: mod_status
Status module averages are for entire uptime
Status:
* PR#2360: suexec
suexec for general access of user content?
Status:
* PR#2396: general
Proposal for TimeZone directive
Status:
* PR#2415: mod_info
/server-info doesn't check for the virtual host to list the info
Status:
* PR#2421: config
problem specifying ndbm library for build ?with autoconfigure
Status:
* PR#2431: general
A small addition to rotatelogs.c to improve program functionality.
Status:
* PR#2446: config
AllowOverride FileInfo is too coarse
Status:
* PR#2460: mod_cgi
TimeOut applies to output of CGI scripts
Status:
* PR#2512: mod_access
&lt;IfDenied&gt; directive wanted
Status:
* PR#2573: suexec
CGI's for general use still have to be run as another user
with suExec
Status:
* PR#2648: general
Cache file names in Proxy module
Status:
* PR#2760: config
[PATCH] User/Group for <Directory> and <Location> i.e. not only
in global and <Virtual>.
Status:
* PR#2763: general
mailto tags and bundling bug report script
Status:
* PR#2785: os-aix
Support for System Resource Controller
Status:
* PR#2793: protocol
When will Apache support P3P? Any Plans?
Status:
* PR#2873: config
Feedback/Comment on APACI
Status:
* PR#2889: general
Inclusion of RPM spec file in CVS/distributions
Status:
* PR#2906: general
Propose that Apache recommend $UNIQUE_ID for all "session id"
algorithms
Status:
* PR#2907: config
suggestion: power up your Include directive :)
Status:
* PR#3018: general
cannot limit some HTTP methods
Status:
* PR#3143: apache-api
No module specific data hook for per-connection data
Status:
* PR#3191: mod_negotiation
no way to set global quality-of-source (qs) coneg values
with multiviews
Status:
* PR#3568: mod_proxy
Accessing URL through proxy server corrupts data.
Status:
* PR#3605: mod_proxy
Some anonymous FTP URLs ask for authentication
Status:
* PR#3677: general
New ErrorDocumentMatch directive
Status:
* PR#4241: config
Need to be able to override shebang line to make CGI scripts
more portable.
Status:
* PR#4244: config
"Files" and "FilesMatch" regexp does not recognize bang as
negation operator
Status:
* PR#4448: mod_log-any
Please allow CGI env variables (QUERY_STRING, ...) to be logged
with %{}e
Status:
* PR#4459: mod_include
Suggestion for better handling of Last-modified headers
Status:
* PR#4490: mod_cgi
mod_cgi prevents handling of OPTIONS requests
Status:
* PR#5713: os-windows
[PATCH] install as win32 service with domain account
Status: Cannot accept password-as-arg, we should prompt the
user when -k install/-k config with a user argument.
* PR#5993: general
AllowOverride should have a 'CheckNone' and 'AllowNone' argument
instead of only 'None'
Status:
Other bugs that need fixing:
* MaxRequestsPerChild measures connections, not requests.
Until someone has a better way, we'll probably just rename it
"MaxConnectionsPerChild".
* Regex containers don't work in an intutive way
Status: No one has come up with an efficient way to fix this
behavior. Dean has suggested getting rid of regex containers
completely.
OtherBill suggests: We at least seem to agree on eliminating
the <Container ~ foo> forms, and using only
<ContainerMatch foo> semantics.
* SIGSEGV on Linux (glibc 2.1.2) isn't caught properly by a
sigwaiting thread. We need to work around this, perhaps unless
there is hope soon for a fixed glibc.
* orig_ct in the byterange/multipart handling may not be
needed. Apache 1.3 just never stashed "multipart" into
r->content_type. We should probably follow suit since the
byterange stuff doesn't want the rest of the code to see the
multipart content-type; the other code should still think it is
dealing with the <orig_ct> stuff.
Status: Greg volunteers to investigate (esp. since he was most
likely the one to break it :-)
Other features that need writing:
* Finish infrastructure in core for async MPMs
Status: post 2.0
* TODO in source -- just do an egrep on "TODO" and see what's there
Available Patches:
* Jon Travis's <jtravis@covalent.net> patch to deal with thread-safe
issues with inet_ntoa. See message <20001201163220.A12827@covalent.net>
Status: This is being set aside until the IPv6 work is finished
so that we know exactly what is required.
* Martin Sojka <msojka@gmx.de>'s patch to add error reporting for failed
htpasswd actions due to a full /tmp volume (other programs may have
similar problems?)
PR: 6475
Status:
* Mike Abbott's <mja@trudge.engr.sgi.com> patches to improve
performance
Status: These were written for 1.3, and are awaiting a port to
2.0
* Jim Winstead's <jimw@trainedmonkey.com> patch to add CookieDomain and
other small mod_usertrack features
* Dan Rench's <drench@xnet.com> patch to add allow the errmsg and timefmt
of SSI's to be modified in the config file. Patch is available in
PR6193
Open issues:
* Which MPMs will be included with Apache 2.0?