STATUS revision 0bff2f28ef945280c17099c142126178a78e1e54
504N/AApache 2.0 STATUS:
1356N/ALast modified at [$Date: 1999/12/21 08:26:49 $]
1356N/A
504N/ARelease:
1356N/A
504N/A Assuming more features aren't demanded for the 2.0 release
504N/A 2.0a1/b1: January 2000
919N/A 2.0 : Early 2000
919N/A
919N/ARELEASE SHOWSTOPPERS:
919N/A
919N/A * Complete HAVE_SENDFILE work. Need to add iovec head and tail pointers to
919N/A the iol sendfile API and make it work under Unix.
919N/A Status: Bill <stoddard@raleigh.ibm.com> is working on this
919N/A
919N/A * Pipes to CGI scripts are not being timed out
919N/A Status: code has been added to APR to support timing out pipes.
919N/A This needs to be used in Apache now.
919N/A
919N/A * Put back resource limit code
919N/A
919N/A * Port mod_rewrite
919N/A Status: Paul Reder <rederpj@raleigh.ibm.com> is working on this.
919N/A
504N/A * suEXEC doesn't work
504N/A Status: Manoj has posted an patch to fix this.
504N/A <19991103003605.A20612@samosa.mindspring.com>
504N/A
504N/A * Windows NT port isn't done
504N/A Status: Bill <stoddard@raleigh.ibm.com> is working on MPM and APR.
970N/A Remaining work:
970N/A 1. Add back ability to run Apache as a service
970N/A 2. Fix Win9* specific code in the winnt MPM
970N/A 3. Test access logging with multiple threads. Will the native file I/O
1356N/A calls serialize automagically like the CRT calls or do we need to
1356N/A add region locking each time we write to the access/error logs?
1356N/A 4. Fix the DOS hole in AcceptEx (need to time out connections over
504N/A which data is never sent).
1408N/A
504N/A * Current 2.0 code is not tested on many Unix platforms. Make 2.0
911N/A work on most, if not all the systems 1.3 did
1408N/A Status: Autoconf and APR will get us most of the way there.
1408N/A
1408N/A * The module API is a weird combination of the old table and the new
911N/A hook system. Switch completely to the new hook system
504N/A Status: Ben Laurie is working on this.
1276N/A
504N/A * Modules. Which modules do not work yet, can we get a list?
504N/A
504N/A * We need a thread-safe resolver, at least on Unix.
504N/A Status: The best known candidate would be something from BIND
504N/A (v8 or v9?) The only other option would be to mutex all the
504N/A resolver calls,
970N/A
970N/ARELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:
970N/A
504N/A * Clean the code. There are a lot of places we used APR but didn't
504N/A remove the hacks that were required for the cross-platform code in
1.3. We need to make the code look like APR was supposed to be there.
* Go throught the Bug DB and research the bugs marked "suspended". People
were told these would be considered for inclusion in Apache 2.0, it
would be nice to actually do so.
* Win32: Migrate the MPM over to use APR thread/process calls. This
would eliminate some code in the Win32 branch that essentially
duplicates what is in APR.
Status: Bill <stoddard@raleigh.ibm.com> is working on this.
* Move I/O layering into APR.
* There are still a number of places in the code where we are
loosing error status (i.e. throwing away the error returned by a
system call and replacing it with a generic error code)
* APRize the stat function. CRT stat() is about 30% slower on Windows than
the equivalent native Windows call. The APR call should return the Unix
style stat structure, just to keep it familier.
* Implement reliable piped logs on Windows
Status: Bill <stoddard@raleigh.ibm.com> has prototype code (not
reliable) in 1.3. Should be much cleaner with APR in 2.0.
* Switch to autoconf, et al. for configuration.
Status: Manoj has placed an initial version into the 2.0
repository. Todos include:
- "make install" and "make depend" should work
- a tool to simplfy third-party module building should be
written. Something like apxs
- Add a lot more checks to satisfy the various platforms, e.g.
for threading
* Use APR to get rid of more platform dependancies.
Status: Ryan Bloom <rbb@raleigh.ibm.com> is working on this.
* The connection status table is not very efficient. Also, very few stats
are exported to the connection status table (easy to fix), and mod_status
is ugly.
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.
* 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.
Other features that need writing:
* Finish infrastructure in core for async MPMs
Status: ?
* TODO in source -- just do an egrep on "TODO" and see what's there
* Work on other MPMs. Possible MPMs discussed or in progress include:
- Dean Gaudet's async MPM
Status: dean is unlikely to begin work on this any time soon...
has lots of ideas he'll share with folks willing to begin
tackling the issues. this is apache 2.1 material.
- Zach Brown's <zab@zabbo.net> Linux siginfo MPM
Status: ?
Documentation that needs writing:
* The concept of MPMs, especially if we ship more than one MPM for a
given platform
* New directives in the various MPMs
* API documentation
Status: Ben Laurie has written some hooks documentation
(apache-2.0/htdocs/hooks.html)
* Changes since 1.3.9 can be more easily seen in the commitlog file
dev.apache.org:/home/cvs/CVSROOT/commitlogs/apache-2.0
which includes some of Roy's comments when the changes were
committed in rough change-sets by purpose. Note that the commitlog
does not show the contents of new files until later.
Available Patches:
* 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
Open issues:
* What do we do about mod_proxy?
* Which MPMs will be included with Apache 2.0?
* Is conf/highperformance.conf-dist obsolete? It looks obsolete.