STATUS revision 2739add8add66e21526ce27f83c2ae133d089070
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan FriedelApache 2.0 STATUS:
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan FriedelLast modified at [$Date: 1999/11/16 15:11:51 $]
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan Friedel
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan FriedelRelease:
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan Friedel
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan Friedel 2.0: In pre-alpha development
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan Friedel
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan FriedelPlan:
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan Friedel
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan Friedel * Vague goal of an alpha or beta release in 1999. Commit-then-review
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan Friedel is active.
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan Friedel
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan FriedelRELEASE SHOWSTOPPERS:
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan Friedel
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan Friedel * Complete HAVE_SENDFILE work. Need to add iovec head and tail pointers to
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan Friedel the iol sendfile API and make it work under Unix.
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan Friedel Status: Bill <stoddard@raleigh.ibm.com> is working on this
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan Friedel
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan Friedel * Pipes to CGI scripts are not being timed out
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan Friedel Status: code has been added to APR to support timing out pipes.
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan Friedel This needs to be used in Apache now.
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan Friedel
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan Friedel * Port mod_rewrite
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan Friedel Status: Paul Reder <rederpj@raleigh.ibm.com> is working on this.
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan Friedel
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan Friedel * Port mod_mime_magic
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan Friedel Status: Paul Reder <rederpj@raleigh.ibm.com> is working on this.
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan Friedel
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan Friedel * suEXEC doesn't work
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan Friedel Status: Manoj has posted an patch to fix this.
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan Friedel <19991103003605.A20612@samosa.mindspring.com>
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan Friedel
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan Friedel * Windows NT port isn't done
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan Friedel Status: Bill <stoddard@raleigh.ibm.com> is working on MPM and APR.
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan Friedel Remaining work:
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan Friedel 1. Add back ability to run Apache as a service
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan Friedel 2. Fix Win9* specific code in the winnt MPM
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan Friedel 3. Get the MPM working in multi process mode (one parent & one child)
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan Friedel 4. Test access logging with multiple threads. Will the native file I/O
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan Friedel calls serialize automagically like the CRT calls or do we need to
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan Friedel add region locking each time we write to the access/error logs?
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan Friedel
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan Friedel * Current 2.0 code is not tested on many Unix platforms. Make 2.0
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan Friedel work on most, if not all the systems 1.3 did
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan Friedel Status: Autoconf and APR will get us most of the way there.
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan Friedel
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan Friedel * The module API is a weird combination of the old table and the new
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan Friedel hook system. Switch completely to the new hook system
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan Friedel Status: Ben Laurie is working on this.
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan Friedel
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan Friedel * Modules. Which modules do not work yet, can we get a list?
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan Friedel
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan FriedelRELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan Friedel
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan Friedel * Clean the code. There are a lot of places we used APR but didn't
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan Friedel remove the hacks that were required for the cross-platform code in
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan Friedel 1.3. We need to make the code look like APR was supposed to be there.
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan Friedel
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan Friedel * Go throught the Bug DB and research the bugs marked "suspended". People
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan Friedel were told these would be considered for inclusion in Apache 2.0, it
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan Friedel would be nice to actually do so.
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan Friedel
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan Friedel * Win32: Redirect stderr to the error log. This is tougher than it appears
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan Friedel because Apache for Windows now uses native file I/O libraries rather than
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan Friedel the CRT library. No problem redirecting native I/O STDERR to the error log.
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan Friedel However, we need to replace all the fprintf(stderr...) calls with something
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan Friedel that will write to the native stderr handle instead of the CRT stderr handle.
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan Friedel Bleh.
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan Friedel
f89940742f5d14dde79b69b98a414dd7b7f585c7Jan Friedel * 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.
* 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.