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