STATUS revision 85cbdc16ac57fa68ce1358a308269abcd417f4d9
b886b04d8d2b085cbf3e1bf4442dee87f43ba5e4Tinderbox UserApache 2.0 STATUS:
6fe48fb46e53ffc37542853a1edb74cb481b7d94Automatic UpdaterLast modified at [$Date: 2000/02/25 03:44:44 $]
c7ef13f6c9ef4436bc804b150e0a93307b11fa27Tinderbox User
c7ef13f6c9ef4436bc804b150e0a93307b11fa27Tinderbox UserRelease:
1167fc7904c5f0a472f8df207ac46dd52c7f1ec8Automatic Updater
0c39b3ed9409ecb277d5e32fa763a4e4d6598df8Automatic Updater Vague plan, assuming more features aren't demanded for the 2.0 release
46da3117812814a29432a8d9a9ccf8acdbfdadceAutomatic Updater 2.0a1 : March 2000
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox User 2.0 : later in 2000
fe84edc17e0d582cf7b4270f8df9d4742a107b1cAutomatic Updater
3349f0044fda807e1fd6681c833d3593a22dad86Tinderbox UserRELEASE SHOWSTOPPERS:
bed0874e1a09e810575328c4bfc346a47514b69fMark Andrews * Fix lingering close
b253dcf9668f95e141bce9556dc88e30d3305a1dTinderbox User Status:
b886b04d8d2b085cbf3e1bf4442dee87f43ba5e4Tinderbox User
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox User * MPMs should have responsibility for closing sockets and
e20309353e6246485c521278131d3fced73d7957Tinderbox User registering the socket cleanup. Stop registering multiple
e20309353e6246485c521278131d3fced73d7957Tinderbox User cleanups for each socket. Move socket close code out of
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews http_connection.c and into the MPMs.
6c910bd5e4a85a56e3a61fdf7b237a45bb2553eeTinderbox User Status:
3cc98b8ecedcbc8465f1cf2740b966b315662430Automatic Updater
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews * Reliable piped logs look broken everywhere. Each MPM includes essentially
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews identical code to ap_register_other_child(), etc. Most of this code can
e20309353e6246485c521278131d3fced73d7957Tinderbox User be moved out of the MPMs and into some common file (http_core.c?).
e20309353e6246485c521278131d3fced73d7957Tinderbox User
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews * DSO hooks registered during the preflight call to ap_read_config
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater are not 'unregistered' during the preflight clean-up. Thus, when
efb0e886f18894a1d2489f1ad74ad14b579e11c7Mark Andrews Apache comes up, the hook tables contain two entries for each DSO hook,
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater one of which is bogus, leftover from the preflight.
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater * Pipes to CGI scripts are not being timed out
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater Status: code has been added to APR to support timing out pipes.
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson This needs to be used in Apache now.
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater
b886b04d8d2b085cbf3e1bf4442dee87f43ba5e4Tinderbox User * Put back resource limit code
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox User
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan Hunt * Port mod_rewrite
e130ab53e992670e2a2ecf043976ac09f21358d1Automatic Updater Status: Paul Reder <rederpj@raleigh.ibm.com> is working on this.
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan Hunt * suEXEC doesn't work
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater Status: Manoj has posted an patch to fix this.
24934f08b9ff81c2be711e566e8002d145573031Tinderbox User <19991103003605.A20612@samosa.mindspring.com>
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan Hunt * Win32: Enable the Windows MPM to honor max_requests_per_child
24934f08b9ff81c2be711e566e8002d145573031Tinderbox User Status: Bill will fix this.
2d2dc37599979c83495510f8af8d1756753aa2c5Automatic Updater
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan Hunt * Win32: Fix Win9* specific code in the winnt MPM
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox User Status:
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater * Win32: Test access logging with multiple threads. Will the
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater native file I/O calls serialize automagically like the
cdfc81e048bd34c1d628380247bda6b80a89e20eAutomatic Updater CRT calls or do we need to add region locking each time
cdfc81e048bd34c1d628380247bda6b80a89e20eAutomatic Updater we access the logs?
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater Status:
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater * Win32: Smoke test all ported modules to make sure they work
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater correctly under Windows.
eabc9c3c07cd956d3c436bd7614cb162dabdda76Mark Andrews Status:
eabc9c3c07cd956d3c436bd7614cb162dabdda76Mark Andrews
eabc9c3c07cd956d3c436bd7614cb162dabdda76Mark Andrews * Current 2.0 code is not tested on many Unix platforms. Make 2.0
b886b04d8d2b085cbf3e1bf4442dee87f43ba5e4Tinderbox User work on most, if not all the systems 1.3 did
e20309353e6246485c521278131d3fced73d7957Tinderbox User Status: Autoconf and APR will get us most of the way there.
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews
24934f08b9ff81c2be711e566e8002d145573031Tinderbox User * The module API is a weird combination of the old table and the new
e20309353e6246485c521278131d3fced73d7957Tinderbox User hook system. Switch completely to the new hook system
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews Status: Ben Laurie is working on this.
7feccf248d2a20a2ae48b290f58ded5abc853e9aTinderbox User
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews * Modules. Which modules do not work yet, can we get a list?
c59750de3ea3c7d5890000fb4606e8f5835a52aaTinderbox User
80faf1588895fd26490f82f95a7a1b771df1c324Automatic Updater * We need a thread-safe resolver, at least on Unix.
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews Status: The best known candidate would be something from BIND
ec7751119a08c6a7250f3187beed69a8b836d349Tinderbox User (v8 or v9?) The only other option would be to mutex all the
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews resolver calls,
114f7780384371121918624ae2c80ecfce545683Tinderbox User
693c4232dfdffaff672197d4b9fea944c64cf80aAutomatic UpdaterRELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater * Win32: Reuse accept socket after transmitfile/close
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson This is not a bug, but would be nice to get this feature in
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater before ship.
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater
efb0e886f18894a1d2489f1ad74ad14b579e11c7Mark Andrews * Win32: Enable the winnt MPM to use the new scoreboard API
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson * Win32: Non-blocking CGI pipes
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater * Win32: Graceful restart of a service is broken (code does shutdown then start)
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater * Dynamically loadable MPMs
b886b04d8d2b085cbf3e1bf4442dee87f43ba5e4Tinderbox User Enable users of the binary distributions of Apache to be able to
b871c7156eb037d41f53828c6fcb9cc876128962Mark Andrews dynamically load the MPM.
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews
3349f0044fda807e1fd6681c833d3593a22dad86Tinderbox User * Platforms that do not support fork (primarily Win32 and AS/400)
3349f0044fda807e1fd6681c833d3593a22dad86Tinderbox User Consider introducing HAVE_FORK feature macro. Architect start-up code
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews that avoids initializing all the modules in the parent process on
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont platforms that do not support fork.
3349f0044fda807e1fd6681c833d3593a22dad86Tinderbox User
3349f0044fda807e1fd6681c833d3593a22dad86Tinderbox User * Clean the code. There are a lot of places we used APR but didn't
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont remove the hacks that were required for the cross-platform code in
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews 1.3. We need to make the code look like APR was supposed to be there.
2ba8f584b97cbab864570e38fd26b8cb90961428Tinderbox User
3349f0044fda807e1fd6681c833d3593a22dad86Tinderbox User * Go throught the Bug DB and research the bugs marked "suspended". People
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews were told these would be considered for inclusion in Apache 2.0, it
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews would be nice to actually do so.
bed0874e1a09e810575328c4bfc346a47514b69fMark Andrews
24bf1e02f03577db0feb50b80238c4150c96d05dAutomatic Updater * Win32: Migrate the MPM over to use APR thread/process calls. This
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews would eliminate some code in the Win32 branch that essentially
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews duplicates what is in APR.
2ba8f584b97cbab864570e38fd26b8cb90961428Tinderbox User Status: Bill <stoddard@raleigh.ibm.com> is working on this.
a308b69ac66fadf66863484f301314d6e6a3f1d2Automatic Updater
78f3ed4bc2fcd3d270bfd599804f3b27a1db4d91Mark Andrews * Move I/O layering into APR.
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews
551271d8198ae06e37edf5da519d8ee153eeac0fTinderbox User * There are still a number of places in the code where we are
27c3c21f41520e8d6336d80a8094389e321cb6d2Mark Andrews loosing error status (i.e. throwing away the error returned by a
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews system call and replacing it with a generic error code)
b871c7156eb037d41f53828c6fcb9cc876128962Mark Andrews
b871c7156eb037d41f53828c6fcb9cc876128962Mark Andrews * Win32: Implement reliable piped logs on Windows
b871c7156eb037d41f53828c6fcb9cc876128962Mark Andrews Status: Bill <stoddard@raleigh.ibm.com> has prototype code (not
01a5c5503482fb3ba52088bf0178a7213273bf96Mark Andrews reliable) in 1.3. Should be much cleaner with APR in 2.0.
551271d8198ae06e37edf5da519d8ee153eeac0fTinderbox User
b871c7156eb037d41f53828c6fcb9cc876128962Mark Andrews * Switch to autoconf, et al. for configuration.
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater Status: Manoj has placed an initial version into the 2.0
cdfc81e048bd34c1d628380247bda6b80a89e20eAutomatic Updater repository. Todos include:
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater
fe80a4909bf62b602feaf246866e9d29f7654194Automatic Updater - "make install" should work
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater - a tool to simplfy third-party module building should be
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater written. Something like apxs
fe80a4909bf62b602feaf246866e9d29f7654194Automatic Updater - Add a lot more checks to satisfy the various platforms, e.g.
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater for threading
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson * Use APR to get rid of more platform dependancies.
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater Status: Ryan Bloom <rbb@raleigh.ibm.com> is working on this.
aa1d397c4736cd86540555193d71e55fa3b37b2aMark Andrews
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson * The connection status table is not very efficient. Also, very few stats
dd65eb1efb40b1c47d57963192bfc54873b219beAutomatic Updater are exported to the connection status table (easy to fix), and mod_status
dd65eb1efb40b1c47d57963192bfc54873b219beAutomatic Updater is ugly.
dd65eb1efb40b1c47d57963192bfc54873b219beAutomatic Updater
133e6d43fa82e80d3798be4de00f4540f485ec6cAutomatic UpdaterOther bugs that need fixing:
133e6d43fa82e80d3798be4de00f4540f485ec6cAutomatic Updater
133e6d43fa82e80d3798be4de00f4540f485ec6cAutomatic Updater * MaxRequestsPerChild measures connections, not requests.
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater Until someone has a better way, we'll probably just rename it
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson "MaxConnectionsPerChild".
f2770f6b39a9b2a98afb7a11ed105f73f1570c1eAutomatic Updater
b886b04d8d2b085cbf3e1bf4442dee87f43ba5e4Tinderbox User * Regex containers don't work in an intutive way
8e5fce1f9ceba17dd7e3ff0eb287e1e999c14249Mark Andrews Status: No one has come up with an efficient way to fix this
b886b04d8d2b085cbf3e1bf4442dee87f43ba5e4Tinderbox User behavior. Dean has suggested getting rid of regex containers
c7ef13f6c9ef4436bc804b150e0a93307b11fa27Tinderbox User completely.
c7ef13f6c9ef4436bc804b150e0a93307b11fa27Tinderbox User
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox User * SIGSEGV on Linux (glibc 2.1.2) isn't caught properly by a
f132a836c4e386b1af045dd8fe7106ae61b90bffAutomatic Updater sigwaiting thread. We need to work around this, perhaps unless
d642d3857129678797a01adee14fbd70335b05a9Mark Andrews there is hope soon for a fixed glibc.
609b8d08176469485edce25f3c2f50365bbd3819Mark Andrews
609b8d08176469485edce25f3c2f50365bbd3819Mark AndrewsOther features that need writing:
b886b04d8d2b085cbf3e1bf4442dee87f43ba5e4Tinderbox User
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox User * Finish infrastructure in core for async MPMs
8e5fce1f9ceba17dd7e3ff0eb287e1e999c14249Mark Andrews Status: ?
269519eeb959d905ed125f96426e01d725c3b597Tinderbox User
8711e5c73ca872d59810760af0332194cbdd619bAutomatic Updater * TODO in source -- just do an egrep on "TODO" and see what's there
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
8f2c45a35dd8c40bcc9caba8f7d40ce64fc27bcdAutomatic Updater * Work on other MPMs. Possible MPMs discussed or in progress include:
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater
8f2c45a35dd8c40bcc9caba8f7d40ce64fc27bcdAutomatic Updater - Dean Gaudet's async MPM
8e5fce1f9ceba17dd7e3ff0eb287e1e999c14249Mark Andrews Status: dean is unlikely to begin work on this any time soon...
6a9d2121152c94cb9e35832126c3f2e4d18d81edTinderbox User has lots of ideas he'll share with folks willing to begin
e85565067cf73f8cc21ee29b11761659f1d47ee9Automatic Updater tackling the issues. this is apache 2.1 material.
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
bc0a53583d92309bebcf93c408e2f3247ebd3d3cAutomatic Updater - Zach Brown's <zab@zabbo.net> Linux siginfo MPM
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater Status: ?
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
59528addd704f8d5757b54e540520f74e588a7c7Automatic UpdaterDocumentation that needs writing:
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater * The concept of MPMs, especially if we ship more than one MPM for a
7f79131f9a8e804b93c57f3c679065cce878b726Automatic Updater given platform
59528addd704f8d5757b54e540520f74e588a7c7Automatic Updater
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater * New directives in the various MPMs
609b8d08176469485edce25f3c2f50365bbd3819Mark Andrews
609b8d08176469485edce25f3c2f50365bbd3819Mark Andrews * API documentation
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater Status: Ben Laurie has written some hooks documentation
19b3dc94bce93fa76bd7e066f9298630dbc9dcb4Automatic Updater (apache-2.0/htdocs/hooks.html)
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater * Changes since 1.3.9 can be more easily seen in the commitlog file
7f94d9a8162c9a96b56e66176702b66e79d8e1a2Automatic Updater dev.apache.org:/home/cvs/CVSROOT/commitlogs/apache-2.0
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater which includes some of Roy's comments when the changes were
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater committed in rough change-sets by purpose. Note that the commitlog
5ecad47f69b3fd945472ab2900a9ff826a7ce2f6Automatic Updater does not show the contents of new files until later.
8e5fce1f9ceba17dd7e3ff0eb287e1e999c14249Mark Andrews
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic UpdaterAvailable Patches:
6a9d2121152c94cb9e35832126c3f2e4d18d81edTinderbox User
6a9d2121152c94cb9e35832126c3f2e4d18d81edTinderbox User * Mike Abbott's <mja@trudge.engr.sgi.com> patches to improve
7262eb86f2b465822206122921e2f357218f0cfdAutomatic Updater performance
96ea71632887c58a9d00f47eb318bf76b35903c3Mark Andrews Status: These were written for 1.3, and are awaiting a port to
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater 2.0
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater
bbb069be941f649228760edcc241122933c066d2Automatic UpdaterOpen issues:
9cd5eb6fe0f26d65724b99216cb31dcdd12e4afdAutomatic Updater
4cda4fd158d6ded5586bacea8c388445d99611eaAutomatic Updater * What do we do about mod_proxy?
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews
da59e63e7af147a8bcef985b98b04443e04c3a0eTinderbox User * Which MPMs will be included with Apache 2.0?
80faf1588895fd26490f82f95a7a1b771df1c324Automatic Updater
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews * Is conf/highperformance.conf-dist obsolete? It looks obsolete.
ce9cad6bb04869c5e94d9dc721032b25117f9210Automatic Updater
6a9d2121152c94cb9e35832126c3f2e4d18d81edTinderbox User