STATUS revision f03d292915be9977eaf74e9be7b0404aec226f84
7f007e36bec06aba6b3a0f84a64f2abf99edfcd8gsteinApache 2.0 STATUS:
9eccc0a669a3e711629345b357c46acce5fefdb4gsteinLast modified at [$Date: 1999/11/30 00:10:23 $]
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj
2a6c49cfaef5979a5a06098f3ce987cd76769409manojRelease:
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj
45b59e112a5c656da7c1b37f2aabc8371dd71afcrbb 2.0: In pre-alpha development
b876b7bcf0ce3d232da723246d709e8dbbfe8762rbb
b876b7bcf0ce3d232da723246d709e8dbbfe8762rbbPlan:
cf6bf6c34c936e6a6fe731dbce4a5c3c8bf8e9a3gstein
35330e0d79ceb8027223bbb8330a381b1f989d6etrawick * Vague goal of an alpha or beta release in 1999. Commit-then-review
6f6f4a4bca281779d196acbdd5c017bb90858305trawick is active.
8dd4618c4709236b4ea297d7250d282e463ce2d8rbb
09bd86d0db1114ee23eda0a6eb76ca055877a1cftrawickRELEASE SHOWSTOPPERS:
2deb319e6b3de239f45c16a3e9e836d44f1f7108rbb
bd929c73ef04789b7183b840d8db6e01d03a4d86rbb * Complete HAVE_SENDFILE work. Need to add iovec head and tail pointers to
70f6f32765cfaadd6da8de6f0fea97ddd72d8fadmanoj the iol sendfile API and make it work under Unix.
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj Status: Bill <stoddard@raleigh.ibm.com> is working on this
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj
531c23ff01a2489646f0a2029097013b328d935agstein * Pipes to CGI scripts are not being timed out
447c6ce3ff08073c44f6785d5256271fcb877512wrowe Status: code has been added to APR to support timing out pipes.
447c6ce3ff08073c44f6785d5256271fcb877512wrowe This needs to be used in Apache now.
447c6ce3ff08073c44f6785d5256271fcb877512wrowe
447c6ce3ff08073c44f6785d5256271fcb877512wrowe * Put back resource limit code
73cbcafbe4c5ce51e6ba8043d33235fde09b6e94trawick
73cbcafbe4c5ce51e6ba8043d33235fde09b6e94trawick * Port mod_rewrite
73cbcafbe4c5ce51e6ba8043d33235fde09b6e94trawick Status: Paul Reder <rederpj@raleigh.ibm.com> is working on this.
bfb62a96023822c56c9120e4ee627d4091cc59c2rbb
85cbdc16ac57fa68ce1358a308269abcd417f4d9stoddard * Port mod_mime_magic
85cbdc16ac57fa68ce1358a308269abcd417f4d9stoddard Status: Paul Reder <rederpj@raleigh.ibm.com> is working on this.
85cbdc16ac57fa68ce1358a308269abcd417f4d9stoddard
d208bda4a893cc81ed5d3ed1cdd7d706e012bd42stoddard * suEXEC doesn't work
d208bda4a893cc81ed5d3ed1cdd7d706e012bd42stoddard Status: Manoj has posted an patch to fix this.
d208bda4a893cc81ed5d3ed1cdd7d706e012bd42stoddard <19991103003605.A20612@samosa.mindspring.com>
d208bda4a893cc81ed5d3ed1cdd7d706e012bd42stoddard
10b386767f6c87b45937244371cb751f0b454d16wrowe * Windows NT port isn't done
10b386767f6c87b45937244371cb751f0b454d16wrowe Status: Bill <stoddard@raleigh.ibm.com> is working on MPM and APR.
863ec32e13d6c9619414c48b51109f3dca99cbc6wrowe Remaining work:
863ec32e13d6c9619414c48b51109f3dca99cbc6wrowe 1. Add back ability to run Apache as a service
75960f20f88dad6bc67892c711c429946063d133stoddard 2. Fix Win9* specific code in the winnt MPM
75960f20f88dad6bc67892c711c429946063d133stoddard 3. Get the MPM working in multi process mode (one parent & one child)
75960f20f88dad6bc67892c711c429946063d133stoddard 4. Test access logging with multiple threads. Will the native file I/O
75960f20f88dad6bc67892c711c429946063d133stoddard calls serialize automagically like the CRT calls or do we need to
75960f20f88dad6bc67892c711c429946063d133stoddard add region locking each time we write to the access/error logs?
75960f20f88dad6bc67892c711c429946063d133stoddard
75960f20f88dad6bc67892c711c429946063d133stoddard * Current 2.0 code is not tested on many Unix platforms. Make 2.0
10b386767f6c87b45937244371cb751f0b454d16wrowe work on most, if not all the systems 1.3 did
10b386767f6c87b45937244371cb751f0b454d16wrowe Status: Autoconf and APR will get us most of the way there.
10b386767f6c87b45937244371cb751f0b454d16wrowe
10b386767f6c87b45937244371cb751f0b454d16wrowe * The module API is a weird combination of the old table and the new
10b386767f6c87b45937244371cb751f0b454d16wrowe hook system. Switch completely to the new hook system
10b386767f6c87b45937244371cb751f0b454d16wrowe Status: Ben Laurie is working on this.
10b386767f6c87b45937244371cb751f0b454d16wrowe
10b386767f6c87b45937244371cb751f0b454d16wrowe * Modules. Which modules do not work yet, can we get a list?
a9e07e4f90adcc7bc768db3055431c3dcd560cd1manoj
f6a6245816cd866361da8c576b1f47c7a54b6610fanfRELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:
f6a6245816cd866361da8c576b1f47c7a54b6610fanf
97b758d0b174d7b7c5a1de1a583f5840ec3fc910trawick * Clean the code. There are a lot of places we used APR but didn't
db3ccce11afac4fc1d4f51a65424412f7480c46cgstein remove the hacks that were required for the cross-platform code in
79d5106a9b65b956d646f5daae4b94bc79e315b8trawick 1.3. We need to make the code look like APR was supposed to be there.
79d5106a9b65b956d646f5daae4b94bc79e315b8trawick
79d5106a9b65b956d646f5daae4b94bc79e315b8trawick * Go throught the Bug DB and research the bugs marked "suspended". People
79d5106a9b65b956d646f5daae4b94bc79e315b8trawick were told these would be considered for inclusion in Apache 2.0, it
79d5106a9b65b956d646f5daae4b94bc79e315b8trawick would be nice to actually do so.
79d5106a9b65b956d646f5daae4b94bc79e315b8trawick
b876b7bcf0ce3d232da723246d709e8dbbfe8762rbb * Win32: Migrate the MPM over to use APR thread/process calls. This would eliminate
b876b7bcf0ce3d232da723246d709e8dbbfe8762rbb some code in the Win32 branch that essentially duplicates what is in APR.
b876b7bcf0ce3d232da723246d709e8dbbfe8762rbb Status: Bill <stoddard@raleigh.ibm.com> is working on this.
b876b7bcf0ce3d232da723246d709e8dbbfe8762rbb
9eccc0a669a3e711629345b357c46acce5fefdb4gstein * Move I/O layering into APR.
9eccc0a669a3e711629345b357c46acce5fefdb4gstein
9eccc0a669a3e711629345b357c46acce5fefdb4gstein * There are still a number of places in the code where we are loosing error
9eccc0a669a3e711629345b357c46acce5fefdb4gstein status (i.e. throwing away the error returned by a system call and replacing
9eccc0a669a3e711629345b357c46acce5fefdb4gstein it with a generic error code)
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj
b8d1a338d56bdc22ffb26fb6d4853e756844ce52rbb * APRize the stat function. CRT stat() is about 30% slower on Windows than
b8d1a338d56bdc22ffb26fb6d4853e756844ce52rbb the equivalent native Windows call. The APR call should return the Unix
b8d1a338d56bdc22ffb26fb6d4853e756844ce52rbb style stat structure, just to keep it familier.
b8d1a338d56bdc22ffb26fb6d4853e756844ce52rbb
b8d1a338d56bdc22ffb26fb6d4853e756844ce52rbb * Implement reliable piped logs on Windows
c97f47dcd5a388441d858123c3b9fe2ddcd3cea1rbb Status: Bill <stoddard@raleigh.ibm.com> has prototype code (not reliable) in 1.3.
c97f47dcd5a388441d858123c3b9fe2ddcd3cea1rbb Should be much cleaner with APR in 2.0.
531c23ff01a2489646f0a2029097013b328d935agstein
cde15c0fdfeef5955afd3b6f4c61d12e50b24586rbb * Switch to autoconf, et al. for configuration.
cde15c0fdfeef5955afd3b6f4c61d12e50b24586rbb Status: Manoj has placed an initial version into the 2.0
cde15c0fdfeef5955afd3b6f4c61d12e50b24586rbb repository. Todos include:
b187d568e1507d75139ebc13ca945b38fc05d55cstoddard
b187d568e1507d75139ebc13ca945b38fc05d55cstoddard - Support selection of modules (including MPMs; only Dexter
b187d568e1507d75139ebc13ca945b38fc05d55cstoddard works right now). Probably involved creating a directory for
1c6fb1e726ce22694de0e9a957adb67b929e5d4fstoddard each module
1c6fb1e726ce22694de0e9a957adb67b929e5d4fstoddard - "make install" and "make depend" should work
1c6fb1e726ce22694de0e9a957adb67b929e5d4fstoddard - a tool to simplfy third-party module building should be
1c6fb1e726ce22694de0e9a957adb67b929e5d4fstoddard written. Something like apxs
1c6fb1e726ce22694de0e9a957adb67b929e5d4fstoddard - Add a lot more checks to satisfy the various platforms, e.g.
8bed76428f56e5c643174a2d6807c3f18016af5cbjh for threading
8bed76428f56e5c643174a2d6807c3f18016af5cbjh
8bed76428f56e5c643174a2d6807c3f18016af5cbjh * Use APR to get rid of more platform dependancies.
8bed76428f56e5c643174a2d6807c3f18016af5cbjh Status: Ryan Bloom <rbb@raleigh.ibm.com> is working on this.
8bed76428f56e5c643174a2d6807c3f18016af5cbjh
2aae6faee508221efbeaba5547ca79b7a20ef047stoddard * The connection status table is not very efficient. Also, very few stats
2aae6faee508221efbeaba5547ca79b7a20ef047stoddard are exported to the connection status table (easy to fix), and mod_status
10b386767f6c87b45937244371cb751f0b454d16wrowe is ugly.
10b386767f6c87b45937244371cb751f0b454d16wrowe
10b386767f6c87b45937244371cb751f0b454d16wroweOther bugs that need fixing:
10b386767f6c87b45937244371cb751f0b454d16wrowe
10b386767f6c87b45937244371cb751f0b454d16wrowe * MaxRequestsPerChild measures connections, not requests.
10b386767f6c87b45937244371cb751f0b454d16wrowe Until someone has a better way, we'll probably just rename it
75960f20f88dad6bc67892c711c429946063d133stoddard "MaxConnectionsPerChild".
a5ed555df952c85bc1b179f5981e8a6c54ba16e6stoddard
d2f8b010487ffa990a9c268df5a25579e7291bcdrbb * Regex containers don't work in an intutive way
d2f8b010487ffa990a9c268df5a25579e7291bcdrbb Status: No one has come up with an efficient way to fix this
a5ed555df952c85bc1b179f5981e8a6c54ba16e6stoddard behavior. Dean has suggested getting rid of regex containers
0bff2f28ef945280c17099c142126178a78e1e54manoj completely.
0bff2f28ef945280c17099c142126178a78e1e54manoj
0bff2f28ef945280c17099c142126178a78e1e54manoj * SIGSEGV on Linux seems to only kill a thread, not a whole process;
1e585ba09ea32272e63c4c39c35491e975d21d98stoddard we need to work around this, probably by bouncing the signal to
0bff2f28ef945280c17099c142126178a78e1e54manoj the sigwait thread. But this will hurt debugability.
35330e0d79ceb8027223bbb8330a381b1f989d6etrawick
0bff2f28ef945280c17099c142126178a78e1e54manojOther features that need writing:
9c09943bad734ebd5c7cc10bd6d63b75c4c6e056stoddard
75960f20f88dad6bc67892c711c429946063d133stoddard * Finish infrastructure in core for async MPMs
f03d292915be9977eaf74e9be7b0404aec226f84manoj Status: ?
302dc1f7b3feee23a91ad8f3cf3cb2edd95a557bmanoj
302dc1f7b3feee23a91ad8f3cf3cb2edd95a557bmanoj * TODO in source -- just do an egrep on "TODO" and see what's there
302dc1f7b3feee23a91ad8f3cf3cb2edd95a557bmanoj
302dc1f7b3feee23a91ad8f3cf3cb2edd95a557bmanoj * Work on other MPMs. Possible MPMs discussed or in progress include:
ff849e4163ed879288f0df15f78b6c9d278ec804fanf
ff849e4163ed879288f0df15f78b6c9d278ec804fanf - Dean Gaudet's async MPM
9805ac88e1befa6dea11d8513023f150d8f8e807fanf Status: ?
9805ac88e1befa6dea11d8513023f150d8f8e807fanf
9805ac88e1befa6dea11d8513023f150d8f8e807fanf - Zach Brown's <zab@zabbo.net> Linux siginfo MPM
9805ac88e1befa6dea11d8513023f150d8f8e807fanf Status: ?
cf6bf6c34c936e6a6fe731dbce4a5c3c8bf8e9a3gstein
df4a7c143b27b489dd2d865bb3f6668c8420b3a9fanfDocumentation that needs writing:
447c6ce3ff08073c44f6785d5256271fcb877512wrowe
447c6ce3ff08073c44f6785d5256271fcb877512wrowe * The concept of MPMs, especially if we ship more than one MPM for a
447c6ce3ff08073c44f6785d5256271fcb877512wrowe given platform
447c6ce3ff08073c44f6785d5256271fcb877512wrowe
447c6ce3ff08073c44f6785d5256271fcb877512wrowe * New directives in the various MPMs
447c6ce3ff08073c44f6785d5256271fcb877512wrowe
cf6bf6c34c936e6a6fe731dbce4a5c3c8bf8e9a3gstein * API documentation
cf6bf6c34c936e6a6fe731dbce4a5c3c8bf8e9a3gstein Status: Ben Laurie has written some hooks documentation
c03566fa0156d3a1500a42e4fe539e3e0fc8a11dgstein (apache-2.0/htdocs/hooks.html)
db3ccce11afac4fc1d4f51a65424412f7480c46cgstein
dd4713dc5b186f4d1be7b88f86608fdb84cbe5d5gstein * Changes since 1.3.9 can be more easily seen in the commitlog file
0eb7ca6cf812d98c534661ac474e873a32bf6325gstein dev.apache.org:/home/cvs/CVSROOT/commitlogs/apache-2.0
cf6bf6c34c936e6a6fe731dbce4a5c3c8bf8e9a3gstein which includes some of Roy's comments when the changes were
8d07897b52e3b7055874501f8a499e75800db206gstein committed in rough change-sets by purpose. Note that the commitlog
8d07897b52e3b7055874501f8a499e75800db206gstein does not show the contents of new files until later.
db3ccce11afac4fc1d4f51a65424412f7480c46cgstein
79d5106a9b65b956d646f5daae4b94bc79e315b8trawickAvailable Patches:
79d5106a9b65b956d646f5daae4b94bc79e315b8trawick
79d5106a9b65b956d646f5daae4b94bc79e315b8trawick * Mike Abbott's <mja@trudge.engr.sgi.com> patches to improve
cf6bf6c34c936e6a6fe731dbce4a5c3c8bf8e9a3gstein performance
cf6bf6c34c936e6a6fe731dbce4a5c3c8bf8e9a3gstein Status: These were written for 1.3, and are awaiting a port to
cf6bf6c34c936e6a6fe731dbce4a5c3c8bf8e9a3gstein 2.0
6fa71a1bd8c61518b05f5798a7a1594c270e78afrbb
93c5cba06b623ebe8e4372e886eece12d9a80c3egsteinOpen issues:
14cccaddba3a9263cf0d0ddc311e18f3e3dc9b0fgstein
14cccaddba3a9263cf0d0ddc311e18f3e3dc9b0fgstein * What do we do about mod_proxy?
14cccaddba3a9263cf0d0ddc311e18f3e3dc9b0fgstein
14cccaddba3a9263cf0d0ddc311e18f3e3dc9b0fgstein * Which MPMs will be included with Apache 2.0?
14cccaddba3a9263cf0d0ddc311e18f3e3dc9b0fgstein
14cccaddba3a9263cf0d0ddc311e18f3e3dc9b0fgstein * Is conf/highperformance.conf-dist obsolete? It looks obsolete.
eb3def494ba5580320dfe1dd47b4d8b05519cb74gstein
eb3def494ba5580320dfe1dd47b4d8b05519cb74gstein