STATUS revision 9c09943bad734ebd5c7cc10bd6d63b75c4c6e056
883N/AApache 2.0 STATUS:
883N/ALast modified at [$Date: 1999/11/04 15:16:15 $]
883N/A
883N/ARelease:
883N/A
883N/A 2.0: In pre-alpha development
883N/A
883N/APlan:
883N/A
883N/A * Vague goal of an alpha or beta release in 1999. Commit-then-review
883N/A is active.
883N/A
883N/ARELEASE SHOWSTOPPERS:
883N/A * Port mod_rewrite
883N/A Status: Paul Reder is working on this.
883N/A
883N/A * Port mod_mime_magic
883N/A Status: Paul Reder is working on this.
883N/A
883N/A * suEXEC doesn't work
883N/A Status: Manoj has posted an patch to fix this.
883N/A <19991103003605.A20612@samosa.mindspring.com>
3734N/A
883N/A * Windows NT port isn't done
883N/A Status: Bill is working on MPM and APR. Remaining work:
883N/A 1. Add back ability to run Apache as a service
3734N/A 2. Fix Win9* specific code in the winnt MPM
3734N/A 3. Get the MPM working in multi process mode (one parent & one child)
883N/A 4. Test access logging with multiple threads. Will the native file I/O
3734N/A calls serialize automagically like the CRT calls or do we need to
3734N/A add region locking each time we write to the access/error logs?
883N/A
3734N/A * Current 2.0 code is not tested on many Unix platforms. Make 2.0
883N/A work on most, if not all the systems 1.3 did
883N/A
883N/A Status: Autoconf and APR will get us most of the way there.
3734N/A
883N/A * The module API is a weird combination of the old table and the new
883N/A hook system. Switch completely to the new hook system
883N/A Status: Ben Laurie is working on this.
883N/A
883N/ARELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:
883N/A
883N/A * Win32: Redirect stderr to the error log. This is tougher than it appears
883N/A because Apache for Windows now uses native file I/O libraries rather than
4100N/A the CRT library. No problem redirecting native I/O STDERR to the error log.
3734N/A However, we need to replace all the fprintf(stderr...) calls with something
3734N/A that will write to the native stderr handle instead of the CRT stderr handle.
3734N/A Bleh.
3734N/A
3734N/A * Win32: Migrate the MPM over to use APR thread/process calls.
3734N/A
3734N/A * Move I/O layering into APR.
3734N/A
3734N/A * There are still a number of places in the code where we are loosing error
3734N/A status (i.e. throwing away the error returned by a system call and replacing
3734N/A it with a generic error code)
3734N/A
3734N/A * APRize the stat function. CRT stat() is about 30% slower on Windows than
3734N/A the equivalent native Windows call. The APR call should return the Unix
3734N/A style stat structure, just to keep it familier.
* Implement reliable piped logs on Windows
Status: Bill has prototype code (not reliable) in 1.3. Should be much
cleaner with APR in 2.0.
* Switch to autoconf, et al. for configuration.
* 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.
* Areas where APRFile is being used need to be cleaned-up
* SIGSEGV on Linux seems to only kill a thread, not a whole process;
we need to work around this, probably by bouncing the signal to
the sigwait thread. But this will hurt debugability.
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
* Odd comments in source (egrep for "ZZZ") need to be cleaned-up
* Work on other MPMs. Possible MPMs discussed or in progress include:
- Dean Gaudet's async MPM
Status: ?
- 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.