STATUS revision 4065b438067f3f08d0bd98b31ac4085b581b931d
43b4c41fbb07705c9df321221ab9cb9832460407Christian MaederApache 2.0 STATUS:
c63ebf815c8a874525cf18670ad74847f7fc7b26Christian MaederLast modified at [$Date: 1999/11/04 18:25:23 $]
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian MaederRelease:
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder 2.0: In pre-alpha development
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian MaederPlan:
43b4c41fbb07705c9df321221ab9cb9832460407Christian Maeder
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder * Vague goal of an alpha or beta release in 1999. Commit-then-review
f4a2a20e49f41b2afa657e5e64d9e349c7faa091Christian Maeder is active.
f2f9df2e17e70674f0bf426ed1763c973ee4cde0Christian Maeder
c9a7e6af169a2adfb92f42331cd578065ed83a2bChristian MaederRELEASE SHOWSTOPPERS:
c9a7e6af169a2adfb92f42331cd578065ed83a2bChristian Maeder
e7757995211bd395dc79d26fe017d99375f7d2a6Christian Maeder * Pipes to CGI scripts are not being timed out
e7757995211bd395dc79d26fe017d99375f7d2a6Christian Maeder Status:
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder * Port mod_rewrite
a1ed34933c266ce85066acb0d7b20c90cb8eb213Christian Maeder Status: Paul Reder is working on this.
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder
404166b9366552e9ec5abb87a37c76ec8a815fb7Klaus Luettich * Port mod_mime_magic
b1f59a4ea7c96f4c03a4d7cfcb9c5e66871cfbbbChristian Maeder Status: Paul Reder is working on this.
ad270004874ce1d0697fb30d7309f180553bb315Christian Maeder
4d56f2fa72e4aec20eb827c11ed49c8cbb7014bdChristian Maeder * suEXEC doesn't work
4cb215739e9ab13447fa21162482ebe485b47455Christian Maeder Status: Manoj has posted an patch to fix this.
8ef75f1cc0437656bf622cec5ac9e8ea221da8f2Christian Maeder <19991103003605.A20612@samosa.mindspring.com>
404166b9366552e9ec5abb87a37c76ec8a815fb7Klaus Luettich
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder * Windows NT port isn't done
74eed04be26f549d2f7ca35c370e1c03879b28b1Christian Maeder Status: Bill is working on MPM and APR. Remaining work:
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder 1. Add back ability to run Apache as a service
3e8b136f23ed57d40ee617f49bcac37830b58cabChristian Maeder 2. Fix Win9* specific code in the winnt MPM
ef9e8535c168d3f774d9e74368a2317a9eda5826Christian Maeder 3. Get the MPM working in multi process mode (one parent & one child)
3e8b136f23ed57d40ee617f49bcac37830b58cabChristian Maeder 4. Test access logging with multiple threads. Will the native file I/O
ef9e8535c168d3f774d9e74368a2317a9eda5826Christian Maeder calls serialize automagically like the CRT calls or do we need to
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder add region locking each time we write to the access/error logs?
e593b89bfd4952698dc37feced21cefe869d87a2Christian Maeder
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder * Current 2.0 code is not tested on many Unix platforms. Make 2.0
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder work on most, if not all the systems 1.3 did
7cc09dd93962a2155c34d209d1d4cd7d7b838264Christian Maeder
1aee4aaddde105264c1faf394d88e302c05094ffChristian Maeder Status: Autoconf and APR will get us most of the way there.
1aee4aaddde105264c1faf394d88e302c05094ffChristian Maeder
51d769d55d88dfa88bdf54bee78d8fa85a2deba8Christian Maeder * The module API is a weird combination of the old table and the new
f041c9a6bda23de33a38490e35b831ae18d96b45Christian Maeder hook system. Switch completely to the new hook system
7cc09dd93962a2155c34d209d1d4cd7d7b838264Christian Maeder Status: Ben Laurie is working on this.
51d769d55d88dfa88bdf54bee78d8fa85a2deba8Christian Maeder
1aee4aaddde105264c1faf394d88e302c05094ffChristian MaederRELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:
1aee4aaddde105264c1faf394d88e302c05094ffChristian Maeder
c3053d57f642ca507cdf79512e604437c4546cb9Christian Maeder * Win32: Redirect stderr to the error log. This is tougher than it appears
dcbd32289a7bdf1e6edd06c6ab0698c6a9dbf37aChristian Maeder because Apache for Windows now uses native file I/O libraries rather than
f4a2a20e49f41b2afa657e5e64d9e349c7faa091Christian Maeder the CRT library. No problem redirecting native I/O STDERR to the error log.
f4a2a20e49f41b2afa657e5e64d9e349c7faa091Christian Maeder However, we need to replace all the fprintf(stderr...) calls with something
dcbd32289a7bdf1e6edd06c6ab0698c6a9dbf37aChristian Maeder that will write to the native stderr handle instead of the CRT stderr handle.
05a62e84edac8c64de04f8349dee418598d216b9Christian Maeder Bleh.
1cd4f6541984962658add5cfaa9f28a93879881bChristian Maeder
1aee4aaddde105264c1faf394d88e302c05094ffChristian Maeder * Win32: Migrate the MPM over to use APR thread/process calls.
8b767d09a78927b111f5596fdff9ca7d2c1a439fChristian Maeder
8b767d09a78927b111f5596fdff9ca7d2c1a439fChristian Maeder * Move I/O layering into APR.
8b767d09a78927b111f5596fdff9ca7d2c1a439fChristian Maeder
8b767d09a78927b111f5596fdff9ca7d2c1a439fChristian Maeder * There are still a number of places in the code where we are loosing error
8b767d09a78927b111f5596fdff9ca7d2c1a439fChristian Maeder status (i.e. throwing away the error returned by a system call and replacing
8b767d09a78927b111f5596fdff9ca7d2c1a439fChristian Maeder it with a generic error code)
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder
d54cd08a4cfa26256c38d8ed12c343adbfe1a0e3Christian Maeder * APRize the stat function. CRT stat() is about 30% slower on Windows than
23b4e542dca35852f58d1fb3f7d9078c1de5ab06Christian Maeder the equivalent native Windows call. The APR call should return the Unix
1535e1d8c82db5f7e2402261983c4c2ef39f4f39Mihai Codescu style stat structure, just to keep it familier.
8cacad2a09782249243b80985f28e9387019fe40Christian Maeder
363939beade943a02b31004cea09dec34fa8a6d9Christian Maeder * Implement reliable piped logs on Windows
a7c27282e71cf4505026645f96d4f5cb8a284e32Christian Maeder Status: Bill has prototype code (not reliable) in 1.3. Should be much
363939beade943a02b31004cea09dec34fa8a6d9Christian Maeder cleaner with APR in 2.0.
014dc30f64ec25e4790cca987d4d1e6635430510Christian Maeder
f04e8f3ff56405901be968fd4c6e9769239f1a9bKlaus Luettich * Switch to autoconf, et al. for configuration.
6aea82c63ba1d2efc0329bc784a14e521469ec20Christian Maeder
4ba08bfca0cc8d9da65397b8dfd2654fdb4c0e62Christian Maeder * Use APR to get rid of more platform dependancies.
feca1d35123d8c31aee238c9ce79947b0bf65494Christian Maeder Status: Ryan Bloom <rbb@raleigh.ibm.com> is working on this.
431d34c7007a787331c4e5ec997badb0f8190fc7Christian Maeder
f1541d4a151dbd08002dbd14e7eb1d5dde253689Christian Maeder * The connection status table is not very efficient. Also, very few stats
498aa48bdb931ab50990d3b74318a5db2312186cChristian Maeder are exported to the connection status table (easy to fix), and mod_status
f1541d4a151dbd08002dbd14e7eb1d5dde253689Christian Maeder is ugly.
6dc9bc98d0854fe2e3dd3bfc4275096a0c28ee1cChristian Maeder
6dc9bc98d0854fe2e3dd3bfc4275096a0c28ee1cChristian MaederOther bugs that need fixing:
6dc9bc98d0854fe2e3dd3bfc4275096a0c28ee1cChristian Maeder
23ffcc44ca8612feccbd8fda63fa5be7ab5f9dc3Christian Maeder * MaxRequestsPerChild measures connections, not requests.
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maeder Until someone has a better way, we'll probably just rename it
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder "MaxConnectionsPerChild".
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder * Regex containers don't work in an intutive way
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder Status: No one has come up with an efficient way to fix this
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder behavior. Dean has suggested getting rid of regex containers
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder completely.
9e748851c150e1022fb952bab3315e869aaf0214Christian Maeder
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder * Areas where APRFile is being used need to be cleaned-up
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder * SIGSEGV on Linux seems to only kill a thread, not a whole process;
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder we need to work around this, probably by bouncing the signal to
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maeder the sigwait thread. But this will hurt debugability.
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian MaederOther features that need writing:
a5e5b8c3e5c11177e5034ef2423813a5d28979edChristian Maeder
bc8cbf12aa172bf5673b92a9e7a0151d4aa4c315Christian Maeder * Finish infrastructure in core for async MPMs
2d130d212db7208777ca896a7ecad619a8944971Christian Maeder Status: ?
2d130d212db7208777ca896a7ecad619a8944971Christian Maeder
51d769d55d88dfa88bdf54bee78d8fa85a2deba8Christian Maeder * TODO in source -- just do an egrep on "TODO" and see what's there
a5e5b8c3e5c11177e5034ef2423813a5d28979edChristian Maeder
a42fbfe7becf0eae2d624123eb0db73a794593f0Christian Maeder * Odd comments in source (egrep for "ZZZ") need to be cleaned-up
a42fbfe7becf0eae2d624123eb0db73a794593f0Christian Maeder
a42fbfe7becf0eae2d624123eb0db73a794593f0Christian Maeder * Work on other MPMs. Possible MPMs discussed or in progress include:
1cd4f6541984962658add5cfaa9f28a93879881bChristian Maeder
1cd4f6541984962658add5cfaa9f28a93879881bChristian Maeder - Dean Gaudet's async MPM
2d130d212db7208777ca896a7ecad619a8944971Christian Maeder Status: ?
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder
6ff7a91875597d6e4dfaa68c79187d01473e8341Christian Maeder - Zach Brown's <zab@zabbo.net> Linux siginfo MPM
6ff7a91875597d6e4dfaa68c79187d01473e8341Christian Maeder Status: ?
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian MaederDocumentation that needs writing:
4017ebc0f692820736d796af3110c3b3018c108aChristian Maeder
a9b59eb2ce961014974276cdae0e9df4419bd212Christian Maeder * The concept of MPMs, especially if we ship more than one MPM for a
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder given platform
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder * New directives in the various MPMs
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder * API documentation
a3c6d8e0670bf2aa71bc8e2a3b1f45d56dd65e4cChristian Maeder Status: Ben Laurie has written some hooks documentation
dc679edd4ca027663212afdf00926ae2ce19b555Christian Maeder (apache-2.0/htdocs/hooks.html)
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maeder * Changes since 1.3.9 can be more easily seen in the commitlog file
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder dev.apache.org:/home/cvs/CVSROOT/commitlogs/apache-2.0
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maeder which includes some of Roy's comments when the changes were
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maeder committed in rough change-sets by purpose. Note that the commitlog
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maeder does not show the contents of new files until later.
4017ebc0f692820736d796af3110c3b3018c108aChristian Maeder
b568982efd0997d877286faa592d81b03c8c67b8Christian MaederAvailable Patches:
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maeder
0be0db405c49906bd7057255069bf6df53395ac9Klaus Luettich * Mike Abbott's <mja@trudge.engr.sgi.com> patches to improve
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maeder performance
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder Status: These were written for 1.3, and are awaiting a port to
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder 2.0
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder
f2f9df2e17e70674f0bf426ed1763c973ee4cde0Christian MaederOpen issues:
d946c1bfdd7d58aa7c023efe864d5999eb44a61bChristian Maeder
d946c1bfdd7d58aa7c023efe864d5999eb44a61bChristian Maeder * What do we do about mod_proxy?
d946c1bfdd7d58aa7c023efe864d5999eb44a61bChristian Maeder
d946c1bfdd7d58aa7c023efe864d5999eb44a61bChristian Maeder * Which MPMs will be included with Apache 2.0?
d946c1bfdd7d58aa7c023efe864d5999eb44a61bChristian Maeder
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder * Is conf/highperformance.conf-dist obsolete? It looks obsolete.
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder