STATUS revision a9e07e4f90adcc7bc768db3055431c3dcd560cd1
01d27eab5fca2dcb8e883011f8be77ae6b78a11cTed GouldApache 2.0 STATUS:
01d27eab5fca2dcb8e883011f8be77ae6b78a11cTed GouldLast modified at [$Date: 1999/12/02 06:33:05 $]
d37634d73670180f99a3e0ea583621373d90ec4fJohan Engelen 2.0: In pre-alpha development
d37634d73670180f99a3e0ea583621373d90ec4fJohan Engelen * Vague goal of an alpha or beta release in 1999. Commit-then-review
d37634d73670180f99a3e0ea583621373d90ec4fJohan EngelenRELEASE SHOWSTOPPERS:
d37634d73670180f99a3e0ea583621373d90ec4fJohan Engelen * Complete HAVE_SENDFILE work. Need to add iovec head and tail pointers to
d37634d73670180f99a3e0ea583621373d90ec4fJohan Engelen the iol sendfile API and make it work under Unix.
d37634d73670180f99a3e0ea583621373d90ec4fJohan Engelen Status: Bill <stoddard@raleigh.ibm.com> is working on this
d37634d73670180f99a3e0ea583621373d90ec4fJohan Engelen * Pipes to CGI scripts are not being timed out
d37634d73670180f99a3e0ea583621373d90ec4fJohan Engelen Status: code has been added to APR to support timing out pipes.
d37634d73670180f99a3e0ea583621373d90ec4fJohan Engelen This needs to be used in Apache now.
d37634d73670180f99a3e0ea583621373d90ec4fJohan Engelen * Put back resource limit code
d37634d73670180f99a3e0ea583621373d90ec4fJohan Engelen * Port mod_rewrite
d37634d73670180f99a3e0ea583621373d90ec4fJohan Engelen Status: Paul Reder <rederpj@raleigh.ibm.com> is working on this.
d37634d73670180f99a3e0ea583621373d90ec4fJohan Engelen * Port mod_mime_magic
d37634d73670180f99a3e0ea583621373d90ec4fJohan Engelen Status: Paul Reder <rederpj@raleigh.ibm.com> is working on this.
d37634d73670180f99a3e0ea583621373d90ec4fJohan Engelen * suEXEC doesn't work
d37634d73670180f99a3e0ea583621373d90ec4fJohan Engelen Status: Manoj has posted an patch to fix this.
d37634d73670180f99a3e0ea583621373d90ec4fJohan Engelen <19991103003605.A20612@samosa.mindspring.com>
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen * Windows NT port isn't done
d37634d73670180f99a3e0ea583621373d90ec4fJohan Engelen Status: Bill <stoddard@raleigh.ibm.com> is working on MPM and APR.
d37634d73670180f99a3e0ea583621373d90ec4fJohan Engelen Remaining work:
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen 1. Add back ability to run Apache as a service
d37634d73670180f99a3e0ea583621373d90ec4fJohan Engelen 2. Fix Win9* specific code in the winnt MPM
d37634d73670180f99a3e0ea583621373d90ec4fJohan Engelen 3. Get the MPM working in multi process mode (one parent & one child)
d37634d73670180f99a3e0ea583621373d90ec4fJohan Engelen 4. Test access logging with multiple threads. Will the native file I/O
d37634d73670180f99a3e0ea583621373d90ec4fJohan Engelen calls serialize automagically like the CRT calls or do we need to
d37634d73670180f99a3e0ea583621373d90ec4fJohan Engelen add region locking each time we write to the access/error logs?
40742313779ee5e43be93a9191f1c86412cf183bKrzysztof Kosiński * Current 2.0 code is not tested on many Unix platforms. Make 2.0
d37634d73670180f99a3e0ea583621373d90ec4fJohan Engelen work on most, if not all the systems 1.3 did
b980eb7f577389245ccf42ab7fa9e19801fecbd2Krzysztof Kosiński Status: Autoconf and APR will get us most of the way there.
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen * The module API is a weird combination of the old table and the new
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen hook system. Switch completely to the new hook system
d37634d73670180f99a3e0ea583621373d90ec4fJohan Engelen Status: Ben Laurie is working on this.
d37634d73670180f99a3e0ea583621373d90ec4fJohan Engelen * Modules. Which modules do not work yet, can we get a list?
b980eb7f577389245ccf42ab7fa9e19801fecbd2Krzysztof Kosiński * We need a thread-safe resolver, at least on Unix.
b980eb7f577389245ccf42ab7fa9e19801fecbd2Krzysztof Kosiński Status: The best known candidate would be something from BIND
b980eb7f577389245ccf42ab7fa9e19801fecbd2Krzysztof Kosiński (v8 or v9?) The only other option would be to mutex all the
b980eb7f577389245ccf42ab7fa9e19801fecbd2Krzysztof Kosiński resolver calls,
b980eb7f577389245ccf42ab7fa9e19801fecbd2Krzysztof KosińskiRELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:
d6519bf53baba32bd74436ad9c85f1fa2c6b6ae9Krzysztof Kosiński * Clean the code. There are a lot of places we used APR but didn't
d37634d73670180f99a3e0ea583621373d90ec4fJohan Engelen remove the hacks that were required for the cross-platform code in
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen 1.3. We need to make the code look like APR was supposed to be there.
40742313779ee5e43be93a9191f1c86412cf183bKrzysztof Kosiński * Go throught the Bug DB and research the bugs marked "suspended". People
40742313779ee5e43be93a9191f1c86412cf183bKrzysztof Kosiński were told these would be considered for inclusion in Apache 2.0, it
d37634d73670180f99a3e0ea583621373d90ec4fJohan Engelen would be nice to actually do so.
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen * Win32: Migrate the MPM over to use APR thread/process calls. This would eliminate
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen some code in the Win32 branch that essentially duplicates what is in APR.
d37634d73670180f99a3e0ea583621373d90ec4fJohan Engelen Status: Bill <stoddard@raleigh.ibm.com> is working on this.
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen * Move I/O layering into APR.
40742313779ee5e43be93a9191f1c86412cf183bKrzysztof Kosiński * There are still a number of places in the code where we are loosing error
40742313779ee5e43be93a9191f1c86412cf183bKrzysztof Kosiński status (i.e. throwing away the error returned by a system call and replacing
40742313779ee5e43be93a9191f1c86412cf183bKrzysztof Kosiński it with a generic error code)
40742313779ee5e43be93a9191f1c86412cf183bKrzysztof Kosiński * APRize the stat function. CRT stat() is about 30% slower on Windows than
d37634d73670180f99a3e0ea583621373d90ec4fJohan Engelen the equivalent native Windows call. The APR call should return the Unix
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen style stat structure, just to keep it familier.
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen * Implement reliable piped logs on Windows
d37634d73670180f99a3e0ea583621373d90ec4fJohan Engelen Status: Bill <stoddard@raleigh.ibm.com> has prototype code (not reliable) in 1.3.
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen Should be much cleaner with APR in 2.0.
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen * Switch to autoconf, et al. for configuration.
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen Status: Manoj has placed an initial version into the 2.0
40742313779ee5e43be93a9191f1c86412cf183bKrzysztof Kosiński repository. Todos include:
40742313779ee5e43be93a9191f1c86412cf183bKrzysztof Kosiński - Support selection of modules (including MPMs; only Dexter
40742313779ee5e43be93a9191f1c86412cf183bKrzysztof Kosiński works right now). Probably involved creating a directory for
40742313779ee5e43be93a9191f1c86412cf183bKrzysztof Kosiński - "make install" and "make depend" should work
40742313779ee5e43be93a9191f1c86412cf183bKrzysztof Kosiński - a tool to simplfy third-party module building should be
40742313779ee5e43be93a9191f1c86412cf183bKrzysztof Kosiński written. Something like apxs
40742313779ee5e43be93a9191f1c86412cf183bKrzysztof Kosiński - Add a lot more checks to satisfy the various platforms, e.g.
40742313779ee5e43be93a9191f1c86412cf183bKrzysztof Kosiński * Use APR to get rid of more platform dependancies.
40742313779ee5e43be93a9191f1c86412cf183bKrzysztof Kosiński Status: Ryan Bloom <rbb@raleigh.ibm.com> is working on this.
40742313779ee5e43be93a9191f1c86412cf183bKrzysztof Kosiński * The connection status table is not very efficient. Also, very few stats
40742313779ee5e43be93a9191f1c86412cf183bKrzysztof Kosiński are exported to the connection status table (easy to fix), and mod_status
d37634d73670180f99a3e0ea583621373d90ec4fJohan EngelenOther bugs that need fixing:
d37634d73670180f99a3e0ea583621373d90ec4fJohan Engelen * MaxRequestsPerChild measures connections, not requests.
d37634d73670180f99a3e0ea583621373d90ec4fJohan Engelen Until someone has a better way, we'll probably just rename it
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen "MaxConnectionsPerChild".
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen * Regex containers don't work in an intutive way
d6519bf53baba32bd74436ad9c85f1fa2c6b6ae9Krzysztof Kosiński Status: No one has come up with an efficient way to fix this
d6519bf53baba32bd74436ad9c85f1fa2c6b6ae9Krzysztof Kosiński behavior. Dean has suggested getting rid of regex containers
d6519bf53baba32bd74436ad9c85f1fa2c6b6ae9Krzysztof Kosiński * SIGSEGV on Linux seems to only kill a thread, not a whole process;
d37634d73670180f99a3e0ea583621373d90ec4fJohan Engelen we need to work around this, probably by bouncing the signal to
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen the sigwait thread. But this will hurt debugability.
d37634d73670180f99a3e0ea583621373d90ec4fJohan EngelenOther features that need writing:
d37634d73670180f99a3e0ea583621373d90ec4fJohan Engelen * Finish infrastructure in core for async MPMs
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen * TODO in source -- just do an egrep on "TODO" and see what's there
d37634d73670180f99a3e0ea583621373d90ec4fJohan Engelen * Work on other MPMs. Possible MPMs discussed or in progress include:
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen - Dean Gaudet's async MPM
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen Status: dean is unlikely to begin work on this any time soon...
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen has lots of ideas he'll share with folks willing to begin
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen tackling the issues. this is apache 2.1 material.
d37634d73670180f99a3e0ea583621373d90ec4fJohan Engelen - Zach Brown's <zab@zabbo.net> Linux siginfo MPM
981b809bc6ed10a21e89444d9447e5475801874fjohanengelenDocumentation that needs writing:
d37634d73670180f99a3e0ea583621373d90ec4fJohan Engelen * The concept of MPMs, especially if we ship more than one MPM for a
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen given platform
d37634d73670180f99a3e0ea583621373d90ec4fJohan Engelen * New directives in the various MPMs
d37634d73670180f99a3e0ea583621373d90ec4fJohan Engelen * API documentation
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen Status: Ben Laurie has written some hooks documentation
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen * Changes since 1.3.9 can be more easily seen in the commitlog file
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen dev.apache.org:/home/cvs/CVSROOT/commitlogs/apache-2.0
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen which includes some of Roy's comments when the changes were
8001ba81cb851b38d86650a2fef5817facffb763johanengelen committed in rough change-sets by purpose. Note that the commitlog
d37634d73670180f99a3e0ea583621373d90ec4fJohan Engelen does not show the contents of new files until later.
981b809bc6ed10a21e89444d9447e5475801874fjohanengelenAvailable Patches:
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen * Mike Abbott's <mja@trudge.engr.sgi.com> patches to improve
d37634d73670180f99a3e0ea583621373d90ec4fJohan Engelen Status: These were written for 1.3, and are awaiting a port to
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen * What do we do about mod_proxy?
981b809bc6ed10a21e89444d9447e5475801874fjohanengelen * Which MPMs will be included with Apache 2.0?
d37634d73670180f99a3e0ea583621373d90ec4fJohan Engelen * Is conf/highperformance.conf-dist obsolete? It looks obsolete.