STATUS revision 3304cbd819df02e7548e9338dc0afa8d3ba29358
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsyncApache 2.0 STATUS:
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsyncLast modified at [$Date: 1999/12/22 06:20:11 $]
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync Vague plan, assuming more features aren't demanded for the 2.0 release
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync 2.0a1/b1: January 2000
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync 2.0 : later in 2000
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsyncRELEASE SHOWSTOPPERS:
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync * Complete HAVE_SENDFILE work. Need to add iovec head and tail pointers to
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync the iol sendfile API and make it work under Unix.
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync Status: Bill <stoddard@raleigh.ibm.com> is working on this
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync * Pipes to CGI scripts are not being timed out
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync Status: code has been added to APR to support timing out pipes.
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync This needs to be used in Apache now.
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync * Put back resource limit code
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync * Port mod_rewrite
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync Status: Paul Reder <rederpj@raleigh.ibm.com> is working on this.
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync * suEXEC doesn't work
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync Status: Manoj has posted an patch to fix this.
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync <19991103003605.A20612@samosa.mindspring.com>
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync * Windows NT port isn't done
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync Status: Bill <stoddard@raleigh.ibm.com> is working on MPM and APR.
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync Remaining work:
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync 1. Add back ability to run Apache as a service
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync 2. Fix Win9* specific code in the winnt MPM
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync 3. Test access logging with multiple threads. Will the native file I/O
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync calls serialize automagically like the CRT calls or do we need to
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync add region locking each time we write to the access/error logs?
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync 4. Fix the DOS hole in AcceptEx (need to time out connections over
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync which data is never sent).
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync * Current 2.0 code is not tested on many Unix platforms. Make 2.0
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync work on most, if not all the systems 1.3 did
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync Status: Autoconf and APR will get us most of the way there.
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync * The module API is a weird combination of the old table and the new
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync hook system. Switch completely to the new hook system
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync Status: Ben Laurie is working on this.
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync * Modules. Which modules do not work yet, can we get a list?
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync * We need a thread-safe resolver, at least on Unix.
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync Status: The best known candidate would be something from BIND
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync (v8 or v9?) The only other option would be to mutex all the
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync resolver calls,
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsyncRELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:
5606210c3e3213a247418d91961ef5380fc87640vboxsync * Clean the code. There are a lot of places we used APR but didn't
5606210c3e3213a247418d91961ef5380fc87640vboxsync remove the hacks that were required for the cross-platform code in
5606210c3e3213a247418d91961ef5380fc87640vboxsync 1.3. We need to make the code look like APR was supposed to be there.
5606210c3e3213a247418d91961ef5380fc87640vboxsync * Go throught the Bug DB and research the bugs marked "suspended". People
5606210c3e3213a247418d91961ef5380fc87640vboxsync were told these would be considered for inclusion in Apache 2.0, it
5606210c3e3213a247418d91961ef5380fc87640vboxsync would be nice to actually do so.
5606210c3e3213a247418d91961ef5380fc87640vboxsync * Win32: Migrate the MPM over to use APR thread/process calls. This
5606210c3e3213a247418d91961ef5380fc87640vboxsync would eliminate some code in the Win32 branch that essentially
5606210c3e3213a247418d91961ef5380fc87640vboxsync duplicates what is in APR.
5606210c3e3213a247418d91961ef5380fc87640vboxsync Status: Bill <stoddard@raleigh.ibm.com> is working on this.
5606210c3e3213a247418d91961ef5380fc87640vboxsync * Move I/O layering into APR.
5606210c3e3213a247418d91961ef5380fc87640vboxsync * There are still a number of places in the code where we are
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync loosing error status (i.e. throwing away the error returned by a
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync system call and replacing it with a generic error code)
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync * APRize the stat function. CRT stat() is about 30% slower on Windows than
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync the equivalent native Windows call. The APR call should return the Unix
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync style stat structure, just to keep it familier.
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync * Implement reliable piped logs on Windows
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync Status: Bill <stoddard@raleigh.ibm.com> has prototype code (not
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync reliable) in 1.3. Should be much cleaner with APR in 2.0.
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync * Switch to autoconf, et al. for configuration.
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync Status: Manoj has placed an initial version into the 2.0
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync repository. Todos include:
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync - "make install" should work
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync - a tool to simplfy third-party module building should be
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync written. Something like apxs
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync - Add a lot more checks to satisfy the various platforms, e.g.
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync for threading
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync * Use APR to get rid of more platform dependancies.
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync Status: Ryan Bloom <rbb@raleigh.ibm.com> is working on this.
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync * The connection status table is not very efficient. Also, very few stats
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync are exported to the connection status table (easy to fix), and mod_status
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsyncOther bugs that need fixing:
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync * MaxRequestsPerChild measures connections, not requests.
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync Until someone has a better way, we'll probably just rename it
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync "MaxConnectionsPerChild".
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync * Regex containers don't work in an intutive way
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync Status: No one has come up with an efficient way to fix this
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync behavior. Dean has suggested getting rid of regex containers
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync completely.
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync * SIGSEGV on Linux (glibc 2.1.2) isn't caught properly by a
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync sigwaiting thread. We need to work around this, perhaps unless
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync there is hope soon for a fixed glibc.
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsyncOther features that need writing:
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync * Finish infrastructure in core for async MPMs
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync * TODO in source -- just do an egrep on "TODO" and see what's there
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync * Work on other MPMs. Possible MPMs discussed or in progress include:
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync - Dean Gaudet's async MPM
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync Status: dean is unlikely to begin work on this any time soon...
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync has lots of ideas he'll share with folks willing to begin
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync tackling the issues. this is apache 2.1 material.
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync - Zach Brown's <zab@zabbo.net> Linux siginfo MPM
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsyncDocumentation that needs writing:
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync * The concept of MPMs, especially if we ship more than one MPM for a
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync given platform
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync * New directives in the various MPMs
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync * API documentation
9e0b97c99123f5eb89a851ce0182f7e438000c0dvboxsync Status: Ben Laurie has written some hooks documentation
* Is conf/highperformance.conf-dist obsolete? It looks obsolete.