STATUS revision 93b653492fb3b4b65006e95a435629d806a9e589
eac684ef1c29684b1bcd27a89c38c202e568e469Tom GundersenApache 2.0 STATUS:
eac684ef1c29684b1bcd27a89c38c202e568e469Tom GundersenLast modified at [$Date: 1999/11/17 21:39:16 $]
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen 2.0: In pre-alpha development
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen * Vague goal of an alpha or beta release in 1999. Commit-then-review
eac684ef1c29684b1bcd27a89c38c202e568e469Tom GundersenRELEASE SHOWSTOPPERS:
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen * Complete HAVE_SENDFILE work. Need to add iovec head and tail pointers to
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen the iol sendfile API and make it work under Unix.
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen Status: Bill <stoddard@raleigh.ibm.com> is working on this
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen * Pipes to CGI scripts are not being timed out
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen Status: code has been added to APR to support timing out pipes.
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen This needs to be used in Apache now.
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen * Port mod_rewrite
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen Status: Paul Reder <rederpj@raleigh.ibm.com> is working on this.
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek * Port mod_mime_magic
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek Status: Paul Reder <rederpj@raleigh.ibm.com> is working on this.
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek * suEXEC doesn't work
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek Status: Manoj has posted an patch to fix this.
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek <19991103003605.A20612@samosa.mindspring.com>
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek * Windows NT port isn't done
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek Status: Bill <stoddard@raleigh.ibm.com> is working on MPM and APR.
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek 1. Add back ability to run Apache as a service
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek 2. Fix Win9* specific code in the winnt MPM
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek 3. Get the MPM working in multi process mode (one parent & one child)
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek 4. Test access logging with multiple threads. Will the native file I/O
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek calls serialize automagically like the CRT calls or do we need to
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek add region locking each time we write to the access/error logs?
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek * Current 2.0 code is not tested on many Unix platforms. Make 2.0
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek work on most, if not all the systems 1.3 did
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek Status: Autoconf and APR will get us most of the way there.
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek * The module API is a weird combination of the old table and the new
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek hook system. Switch completely to the new hook system
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek Status: Ben Laurie is working on this.
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek * Modules. Which modules do not work yet, can we get a list?
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-SzmekRELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek * Clean the code. There are a lot of places we used APR but didn't
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek remove the hacks that were required for the cross-platform code in
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek 1.3. We need to make the code look like APR was supposed to be there.
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek * Go throught the Bug DB and research the bugs marked "suspended". People
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek were told these would be considered for inclusion in Apache 2.0, it
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek would be nice to actually do so.
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek * Win32: Redirect stderr to the error log. This is tougher than it appears
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek because Apache for Windows now uses native file I/O libraries rather than
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek the CRT library. No problem redirecting native I/O STDERR to the error log.
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek However, we need to replace all the fprintf(stderr...) calls with something
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek that will write to the native stderr handle instead of the CRT stderr handle.
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek * Win32: Migrate the MPM over to use APR thread/process calls. This would eliminate
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek some code in the Win32 branch that essentially duplicates what is in APR.
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek Status: Bill <stoddard@raleigh.ibm.com> is working on this.
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek * Move I/O layering into APR.
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek * There are still a number of places in the code where we are loosing error
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek status (i.e. throwing away the error returned by a system call and replacing
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek it with a generic error code)
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek * APRize the stat function. CRT stat() is about 30% slower on Windows than
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek the equivalent native Windows call. The APR call should return the Unix
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek style stat structure, just to keep it familier.
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek * Implement reliable piped logs on Windows
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek Status: Bill <stoddard@raleigh.ibm.com> has prototype code (not reliable) in 1.3.
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek Should be much cleaner with APR in 2.0.
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek * Switch to autoconf, et al. for configuration.
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek * Use APR to get rid of more platform dependancies.
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek Status: Ryan Bloom <rbb@raleigh.ibm.com> is working on this.
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek * The connection status table is not very efficient. Also, very few stats
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek are exported to the connection status table (easy to fix), and mod_status
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-SzmekOther bugs that need fixing:
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek * MaxRequestsPerChild measures connections, not requests.
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek Until someone has a better way, we'll probably just rename it
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek "MaxConnectionsPerChild".
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek * Regex containers don't work in an intutive way
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek Status: No one has come up with an efficient way to fix this
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek behavior. Dean has suggested getting rid of regex containers
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek * SIGSEGV on Linux seems to only kill a thread, not a whole process;
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek we need to work around this, probably by bouncing the signal to
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek the sigwait thread. But this will hurt debugability.
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-SzmekOther features that need writing:
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek * Finish infrastructure in core for async MPMs
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek * TODO in source -- just do an egrep on "TODO" and see what's there
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek * Work on other MPMs. Possible MPMs discussed or in progress include:
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek - Dean Gaudet's async MPM
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek - Zach Brown's <zab@zabbo.net> Linux siginfo MPM
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-SzmekDocumentation that needs writing:
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek * The concept of MPMs, especially if we ship more than one MPM for a
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek * New directives in the various MPMs
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek * API documentation
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek Status: Ben Laurie has written some hooks documentation
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek * Changes since 1.3.9 can be more easily seen in the commitlog file
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek dev.apache.org:/home/cvs/CVSROOT/commitlogs/apache-2.0
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek which includes some of Roy's comments when the changes were
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek committed in rough change-sets by purpose. Note that the commitlog
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek does not show the contents of new files until later.
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-SzmekAvailable Patches:
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek * Mike Abbott's <mja@trudge.engr.sgi.com> patches to improve
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek Status: These were written for 1.3, and are awaiting a port to
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek * What do we do about mod_proxy?
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek * Which MPMs will be included with Apache 2.0?
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek * Is conf/highperformance.conf-dist obsolete? It looks obsolete.