STATUS revision 2739add8add66e21526ce27f83c2ae133d089070
80d2034f65b9348e5fd36291f03b0819181efb89Adam MooreApache 2.0 STATUS:
80d2034f65b9348e5fd36291f03b0819181efb89Adam MooreLast modified at [$Date: 1999/11/16 15:11:51 $]
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore
80d2034f65b9348e5fd36291f03b0819181efb89Adam MooreRelease:
52671ce4f644d565b2acd71a8ce4f6d20829a67cAdam Moore
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore 2.0: In pre-alpha development
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore
80d2034f65b9348e5fd36291f03b0819181efb89Adam MoorePlan:
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore * Vague goal of an alpha or beta release in 1999. Commit-then-review
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore is active.
02fc09f797e83e80199c96adc4751c230dccc973Adam Moore
80d2034f65b9348e5fd36291f03b0819181efb89Adam MooreRELEASE SHOWSTOPPERS:
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore * Complete HAVE_SENDFILE work. Need to add iovec head and tail pointers to
52671ce4f644d565b2acd71a8ce4f6d20829a67cAdam Moore the iol sendfile API and make it work under Unix.
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore Status: Bill <stoddard@raleigh.ibm.com> is working on this
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore * Pipes to CGI scripts are not being timed out
c4f19796d319a7ec9a1e76d48adc82c9c5ae2f27Adam Moore Status: code has been added to APR to support timing out pipes.
08e054017132cdd838955bc0af15889f1f2a7b42Adam Moore This needs to be used in Apache now.
b46f3d670b654847b0ce60afdba1b461c492a5c9Adam Moore
b46f3d670b654847b0ce60afdba1b461c492a5c9Adam Moore * Port mod_rewrite
b46f3d670b654847b0ce60afdba1b461c492a5c9Adam Moore Status: Paul Reder <rederpj@raleigh.ibm.com> is working on this.
08e054017132cdd838955bc0af15889f1f2a7b42Adam Moore
52671ce4f644d565b2acd71a8ce4f6d20829a67cAdam Moore * Port mod_mime_magic
52671ce4f644d565b2acd71a8ce4f6d20829a67cAdam Moore Status: Paul Reder <rederpj@raleigh.ibm.com> is working on this.
52671ce4f644d565b2acd71a8ce4f6d20829a67cAdam Moore
52671ce4f644d565b2acd71a8ce4f6d20829a67cAdam Moore * suEXEC doesn't work
52671ce4f644d565b2acd71a8ce4f6d20829a67cAdam Moore Status: Manoj has posted an patch to fix this.
52671ce4f644d565b2acd71a8ce4f6d20829a67cAdam Moore <19991103003605.A20612@samosa.mindspring.com>
9c42541e375e7bb70c53012b3012d70f1a380254Adam Moore
9c42541e375e7bb70c53012b3012d70f1a380254Adam Moore * Windows NT port isn't done
9c42541e375e7bb70c53012b3012d70f1a380254Adam Moore Status: Bill <stoddard@raleigh.ibm.com> is working on MPM and APR.
9c42541e375e7bb70c53012b3012d70f1a380254Adam Moore Remaining work:
9c42541e375e7bb70c53012b3012d70f1a380254Adam Moore 1. Add back ability to run Apache as a service
9c42541e375e7bb70c53012b3012d70f1a380254Adam Moore 2. Fix Win9* specific code in the winnt MPM
9c42541e375e7bb70c53012b3012d70f1a380254Adam Moore 3. Get the MPM working in multi process mode (one parent & one child)
02fc09f797e83e80199c96adc4751c230dccc973Adam Moore 4. Test access logging with multiple threads. Will the native file I/O
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore calls serialize automagically like the CRT calls or do we need to
2690c090ce850e485d15cf691f59e8aaeb3b4bb1Adam Moore add region locking each time we write to the access/error logs?
8aa0880cd494c951e0f4aa7d82d8bdac7692c7d0Adam Moore
8aa0880cd494c951e0f4aa7d82d8bdac7692c7d0Adam Moore * Current 2.0 code is not tested on many Unix platforms. Make 2.0
8aa0880cd494c951e0f4aa7d82d8bdac7692c7d0Adam Moore work on most, if not all the systems 1.3 did
abdfe7cf11d34f89f17b26e4779bf6079d22a910Adam Moore Status: Autoconf and APR will get us most of the way there.
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore * The module API is a weird combination of the old table and the new
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore hook system. Switch completely to the new hook system
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore Status: Ben Laurie is working on this.
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore * Modules. Which modules do not work yet, can we get a list?
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore
80d2034f65b9348e5fd36291f03b0819181efb89Adam MooreRELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:
2690c090ce850e485d15cf691f59e8aaeb3b4bb1Adam Moore
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore * Clean the code. There are a lot of places we used APR but didn't
2690c090ce850e485d15cf691f59e8aaeb3b4bb1Adam Moore remove the hacks that were required for the cross-platform code in
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore 1.3. We need to make the code look like APR was supposed to be there.
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore
abdfe7cf11d34f89f17b26e4779bf6079d22a910Adam Moore * Go throught the Bug DB and research the bugs marked "suspended". People
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore were told these would be considered for inclusion in Apache 2.0, it
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore would be nice to actually do so.
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore * Win32: Redirect stderr to the error log. This is tougher than it appears
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore because Apache for Windows now uses native file I/O libraries rather than
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore the CRT library. No problem redirecting native I/O STDERR to the error log.
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore However, we need to replace all the fprintf(stderr...) calls with something
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore that will write to the native stderr handle instead of the CRT stderr handle.
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore Bleh.
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore * Win32: Migrate the MPM over to use APR thread/process calls. This would eliminate
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore some code in the Win32 branch that essentially duplicates what is in APR.
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore Status: Bill <stoddard@raleigh.ibm.com> is working on this.
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore * Move I/O layering into APR.
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore
abdfe7cf11d34f89f17b26e4779bf6079d22a910Adam Moore * There are still a number of places in the code where we are loosing error
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore status (i.e. throwing away the error returned by a system call and replacing
abdfe7cf11d34f89f17b26e4779bf6079d22a910Adam Moore it with a generic error code)
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore * APRize the stat function. CRT stat() is about 30% slower on Windows than
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore the equivalent native Windows call. The APR call should return the Unix
eab87f0881fdf3e80c2a1af9224c50f0bf033644Adam Moore style stat structure, just to keep it familier.
eab87f0881fdf3e80c2a1af9224c50f0bf033644Adam Moore
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore * Implement reliable piped logs on Windows
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore Status: Bill <stoddard@raleigh.ibm.com> has prototype code (not reliable) in 1.3.
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore Should be much cleaner with APR in 2.0.
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore * Switch to autoconf, et al. for configuration.
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore * Use APR to get rid of more platform dependancies.
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore Status: Ryan Bloom <rbb@raleigh.ibm.com> is working on this.
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore * The connection status table is not very efficient. Also, very few stats
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore are exported to the connection status table (easy to fix), and mod_status
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore is ugly.
eab87f0881fdf3e80c2a1af9224c50f0bf033644Adam Moore
eab87f0881fdf3e80c2a1af9224c50f0bf033644Adam MooreOther bugs that need fixing:
eab87f0881fdf3e80c2a1af9224c50f0bf033644Adam Moore
eab87f0881fdf3e80c2a1af9224c50f0bf033644Adam Moore * MaxRequestsPerChild measures connections, not requests.
eab87f0881fdf3e80c2a1af9224c50f0bf033644Adam Moore Until someone has a better way, we'll probably just rename it
eab87f0881fdf3e80c2a1af9224c50f0bf033644Adam Moore "MaxConnectionsPerChild".
eab87f0881fdf3e80c2a1af9224c50f0bf033644Adam Moore
eab87f0881fdf3e80c2a1af9224c50f0bf033644Adam Moore * Regex containers don't work in an intutive way
eab87f0881fdf3e80c2a1af9224c50f0bf033644Adam Moore Status: No one has come up with an efficient way to fix this
eab87f0881fdf3e80c2a1af9224c50f0bf033644Adam Moore behavior. Dean has suggested getting rid of regex containers
eab87f0881fdf3e80c2a1af9224c50f0bf033644Adam Moore completely.
eab87f0881fdf3e80c2a1af9224c50f0bf033644Adam Moore
eab87f0881fdf3e80c2a1af9224c50f0bf033644Adam Moore * Areas where APRFile is being used need to be cleaned-up
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore * SIGSEGV on Linux seems to only kill a thread, not a whole process;
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore we need to work around this, probably by bouncing the signal to
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore the sigwait thread. But this will hurt debugability.
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore
80d2034f65b9348e5fd36291f03b0819181efb89Adam MooreOther features that need writing:
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore * Finish infrastructure in core for async MPMs
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore Status: ?
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore * TODO in source -- just do an egrep on "TODO" and see what's there
abdfe7cf11d34f89f17b26e4779bf6079d22a910Adam Moore
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore * Odd comments in source (egrep for "ZZZ") need to be cleaned-up
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore * Work on other MPMs. Possible MPMs discussed or in progress include:
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore - Dean Gaudet's async MPM
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore Status: ?
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore - Zach Brown's <zab@zabbo.net> Linux siginfo MPM
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore Status: ?
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore
80d2034f65b9348e5fd36291f03b0819181efb89Adam MooreDocumentation that needs writing:
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore * The concept of MPMs, especially if we ship more than one MPM for a
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore given platform
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore * New directives in the various MPMs
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore * API documentation
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore Status: Ben Laurie has written some hooks documentation
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore (apache-2.0/htdocs/hooks.html)
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore * Changes since 1.3.9 can be more easily seen in the commitlog file
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore dev.apache.org:/home/cvs/CVSROOT/commitlogs/apache-2.0
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore which includes some of Roy's comments when the changes were
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore committed in rough change-sets by purpose. Note that the commitlog
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore does not show the contents of new files until later.
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore
80d2034f65b9348e5fd36291f03b0819181efb89Adam MooreAvailable Patches:
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore * Mike Abbott's <mja@trudge.engr.sgi.com> patches to improve
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore performance
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore Status: These were written for 1.3, and are awaiting a port to
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore 2.0
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore
abdfe7cf11d34f89f17b26e4779bf6079d22a910Adam MooreOpen issues:
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore
abdfe7cf11d34f89f17b26e4779bf6079d22a910Adam Moore * What do we do about mod_proxy?
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore * Which MPMs will be included with Apache 2.0?
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore * Is conf/highperformance.conf-dist obsolete? It looks obsolete.
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore