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