2362N/ALast modified at [$Date: 2000/02/16 18:29:20 $]
0N/A Vague plan, assuming more features aren't demanded for the 2.0 release
0N/ARELEASE SHOWSTOPPERS:
0N/A * Reliable piped logs look broken everywhere. Each MPM includes essentially
0N/A identical code to ap_register_other_child(), etc. Most of this code can
0N/A * DSO hooks registered during the preflight call to ap_read_config
0N/A are not 'unregistered' during the preflight clean-up. Thus, when
0N/A Apache comes up, the hook tables contain two entries for each DSO hook,
0N/A one of which is bogus, leftover from the preflight.
0N/A * Pipes to CGI scripts are not being timed out
2362N/A Status: code has been added to APR to support timing out pipes.
2362N/A This needs to be used in Apache now.
0N/A * Put back resource limit code
0N/A Status: Paul Reder <rederpj@raleigh.ibm.com> is working on this.
0N/A * suEXEC doesn't work
0N/A Status: Manoj has posted an patch to fix this.
0N/A <19991103003605.A20612@samosa.mindspring.com>
0N/A * Win32: Fix Win9* specific code in the winnt MPM
0N/A * Win32: Test access logging with multiple threads. Will the
0N/A native file I/O calls serialize automagically like the
0N/A CRT calls or do we need to add region locking each time
0N/A * Win32: Smoke test all ported modules to make sure they work
0N/A correctly under Windows.
0N/A * Current 2.0 code is not tested on many Unix platforms. Make 2.0
0N/A work on most, if not all the systems 1.3 did
0N/A Status: Autoconf and APR will get us most of the way there.
0N/A * The module API is a weird combination of the old table and the new
0N/A hook system. Switch completely to the new hook system
0N/A Status: Ben Laurie is working on this.
0N/A * Modules. Which modules do not work yet, can we get a list?
0N/A * We need a thread-safe resolver, at least on Unix.
0N/A Status: The best known candidate would be something from BIND
0N/A (v8 or v9?) The only other option would be to mutex all the
0N/ARELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:
0N/A * Win32: Enable the winnt MPM to use the new scoreboard API
0N/A * Win32: Non-blocking CGI pipes
0N/A * Win32: Graceful restart of a service is broken (code does shutdown then start)
0N/A * Dynamically loadable MPMs
0N/A Enable users of the binary distributions of Apache to be able to
0N/A dynamically load the MPM.
0N/A * Platforms that do not support fork (primarily Win32 and AS/400)
0N/A Consider introducing HAVE_FORK feature macro. Architect start-up code
0N/A that avoids initializing all the modules in the parent process on
0N/A platforms that do not support fork.
0N/A * Clean the code. There are a lot of places we used APR but didn't
0N/A remove the hacks that were required for the cross-platform code in
0N/A 1.3. We need to make the code look like APR was supposed to be there.
0N/A * Go throught the Bug DB and research the bugs marked "suspended". People
0N/A were told these would be considered for inclusion in Apache 2.0, it
0N/A would be nice to actually do so.
0N/A would eliminate some code in the Win32 branch that essentially
0N/A duplicates what is in APR.
0N/A Status: Bill <stoddard@raleigh.ibm.com> is working on this.
0N/A * Move I/O layering into APR.
0N/A * There are still a number of places in the code where we are
0N/A loosing error status (
i.e. throwing away the error returned by a
0N/A system call and replacing it with a generic error code)
0N/A * Win32: Implement reliable piped logs on Windows
0N/A Status: Bill <stoddard@raleigh.ibm.com> has prototype code (not
0N/A reliable) in 1.3. Should be much cleaner with APR in 2.0.
0N/A * Switch to autoconf, et al. for configuration.
0N/A Status: Manoj has placed an initial version into the 2.0
0N/A repository. Todos include:
0N/A - "make install" should work
0N/A - a tool to simplfy third-party module building should be
0N/A written. Something like apxs
0N/A - Add a lot more checks to satisfy the various platforms,
e.g. 0N/A * Use APR to get rid of more platform dependancies.
0N/A Status: Ryan Bloom <rbb@raleigh.ibm.com> is working on this.
0N/A * The connection status table is not very efficient. Also, very few stats
0N/A are exported to the connection status table (easy to fix), and mod_status
0N/AOther bugs that need fixing:
0N/A * MaxRequestsPerChild measures connections, not requests.
0N/A Until someone has a better way, we'll probably just rename it
0N/A "MaxConnectionsPerChild".
0N/A * Regex containers don't work in an intutive way
0N/A Status: No one has come up with an efficient way to fix this
0N/A behavior. Dean has suggested getting rid of regex containers
0N/A * SIGSEGV on Linux (glibc 2.1.2) isn't caught properly by a
0N/A sigwaiting thread. We need to work around this, perhaps unless
0N/A there is hope soon for a fixed glibc.
0N/AOther features that need writing:
0N/A * Finish infrastructure in core for async MPMs
0N/A * TODO in source -- just do an egrep on "TODO" and see what's there
0N/A * Work on other MPMs. Possible MPMs discussed or in progress include:
0N/A - Dean Gaudet's async MPM
0N/A Status: dean is unlikely to begin work on this any time soon...
0N/A has lots of ideas he'll share with folks willing to begin
0N/A tackling the issues. this is apache 2.1 material.
0N/A - Zach Brown's <zab@zabbo.net> Linux siginfo MPM
0N/ADocumentation that needs writing:
0N/A * The concept of MPMs, especially if we ship more than one MPM for a
0N/A * New directives in the various MPMs
0N/A Status: Ben Laurie has written some hooks documentation
0N/A * Changes since 1.3.9 can be more easily seen in the commitlog file
0N/A which includes some of Roy's comments when the changes were
0N/A committed in rough change-sets by purpose. Note that the commitlog
0N/A does not show the contents of new files until later.
0N/A * Mike Abbott's <mja@trudge.engr.sgi.com> patches to improve
0N/A Status: These were written for 1.3, and are awaiting a port to
0N/A * What do we do about mod_proxy?
0N/A * Which MPMs will be included with Apache 2.0?