STATUS revision 670734c2ee137c587411795c6f82566c9d3729b7
f743002678eb67b99bbc29fee116b65d9530fec0wroweApache 2.0 STATUS:
80833bb9a1bf25dcf19e814438a4b311d2e1f4cffuankgLast modified at [$Date: 2000/05/23 21:50:57 $]
a34684a59b60a4173c25035d0c627ef17e6dc215rpluem
1337c7673efc1f80f634139fbad7cbb98a0dc657ylavicRelease:
1337c7673efc1f80f634139fbad7cbb98a0dc657ylavic
1337c7673efc1f80f634139fbad7cbb98a0dc657ylavic 2.0a4 : vague plans to release mid-May
1337c7673efc1f80f634139fbad7cbb98a0dc657ylavic 2.0a3 : released April 28, 2000
4da61833a1cbbca94094f9653fd970582b97a72etrawick 2.0a2 : released March 31, 2000
4da61833a1cbbca94094f9653fd970582b97a72etrawick 2.0a1 : released March 10, 2000
4da61833a1cbbca94094f9653fd970582b97a72etrawick
4da61833a1cbbca94094f9653fd970582b97a72etrawickRELEASE SHOWSTOPPERS:
4da61833a1cbbca94094f9653fd970582b97a72etrawick * Win32: Get mod_auth_digest working under win32
4789804be088bcd86ae637a29cdb7fda25169521jailletc - APR_HAS_RANDOM should be defined on windows and there is a
4789804be088bcd86ae637a29cdb7fda25169521jailletc lib/apr/misc/win32/rand.c which is basically a copy of what
4789804be088bcd86ae637a29cdb7fda25169521jailletc mod_auth_digest used to use.
4789804be088bcd86ae637a29cdb7fda25169521jailletc
e50c3026198fd496f183cda4c32a202925476778covener * Re-work configuration for top level Apache. Work should start with
e50c3026198fd496f183cda4c32a202925476778covener trying to clean the autoconf stuff. If and only if this proves
e50c3026198fd496f183cda4c32a202925476778covener impossible to do (very unlikely), autoconf should be removed and we
5b88c8507d5ef6d0c4cfbc78230294968175b638minfrin will roll our own config implementation.
5b88c8507d5ef6d0c4cfbc78230294968175b638minfrin NOTE: When this is implemented, it would be really nice if the
6c3b9cebb551140fbb25d58bae08b539b3802133ylavic default cgi module on Unix with a threaded MPM is the cgid
6c3b9cebb551140fbb25d58bae08b539b3802133ylavic module. This should be override-able of course.
6c3b9cebb551140fbb25d58bae08b539b3802133ylavic Status: Jim Jagielski is looking into this.
4f29b65ab4b547ad5dbe506e2d0ff5d12ead9247ylavic
4f29b65ab4b547ad5dbe506e2d0ff5d12ead9247ylavic * Fix SAFEREAD.
0a0df13b7f1f4f1a74fe295253d89ca3911b301aylavic see <Pine.LNX.4.21.0004101511380.7822-100000@twinlark.arctic.org>
0a0df13b7f1f4f1a74fe295253d89ca3911b301aylavic
0a0df13b7f1f4f1a74fe295253d89ca3911b301aylavic * Put back resource limit code
0a0df13b7f1f4f1a74fe295253d89ca3911b301aylavic
69301145375a889e7e37caf7cc7321ac0f91801erpluem * suEXEC doesn't work
69301145375a889e7e37caf7cc7321ac0f91801erpluem Status: Manoj has posted an patch to fix this.
69301145375a889e7e37caf7cc7321ac0f91801erpluem <19991103003605.A20612@samosa.mindspring.com>
506bfe33206b2fece40ef25f695af39dd4130facjkaluza
506bfe33206b2fece40ef25f695af39dd4130facjkaluza * Win32: Enable the Windows MPM to honor max_requests_per_child
506bfe33206b2fece40ef25f695af39dd4130facjkaluza Status: Bill will fix this.
506bfe33206b2fece40ef25f695af39dd4130facjkaluza
d58a848a016d401b965111e50ef829e1641f7834minfrin * Win32: Get Apache working on Windows 95/98. The following work
d58a848a016d401b965111e50ef829e1641f7834minfrin (at least) needs to be done:
d58a848a016d401b965111e50ef829e1641f7834minfrin - winnt MPM: Fix 95/98 code paths in the winnt MPM. There is some NT
2e6f4d654c96c98b761fb012fd25c5d5b1558c44sf specific code that is still not in NT only code paths
2e6f4d654c96c98b761fb012fd25c5d5b1558c44sf - APR sendfile uses TransmitFile which is not available on
2e6f4d654c96c98b761fb012fd25c5d5b1558c44sf 95/98.
17e6c95f3b22d18acdf8380fb26a8d0e10c80767ylavic - ap_stat uses GetFileAttributeEx which is not available on
17e6c95f3b22d18acdf8380fb26a8d0e10c80767ylavic 95/98
17e6c95f3b22d18acdf8380fb26a8d0e10c80767ylavic
17e6c95f3b22d18acdf8380fb26a8d0e10c80767ylavic Status:
17e6c95f3b22d18acdf8380fb26a8d0e10c80767ylavic
e8bd80a4bb88199d2f9a24a50345688e52d9c116ylavic * Win32: Test access logging with multiple threads. Will the
e8bd80a4bb88199d2f9a24a50345688e52d9c116ylavic native file I/O calls serialize automagically like the
e8bd80a4bb88199d2f9a24a50345688e52d9c116ylavic CRT calls or do we need to add region locking each time
330e16bea8fe9cace4de90c349750c03dfb1fe64ylavic we access the logs?
330e16bea8fe9cace4de90c349750c03dfb1fe64ylavic Status:
330e16bea8fe9cace4de90c349750c03dfb1fe64ylavic
330e16bea8fe9cace4de90c349750c03dfb1fe64ylavic * The handler hook needs to use the new registration system
330e16bea8fe9cace4de90c349750c03dfb1fe64ylavic
330e16bea8fe9cace4de90c349750c03dfb1fe64ylavic * We need a thread-safe resolver, at least on Unix.
330e16bea8fe9cace4de90c349750c03dfb1fe64ylavic Status: The best known candidate would be something from
d7205b1a86c51c27b71a2c458dc453fd53a261c1covener BIND v9.
d7205b1a86c51c27b71a2c458dc453fd53a261c1covener
d7205b1a86c51c27b71a2c458dc453fd53a261c1covenerRELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:
d7205b1a86c51c27b71a2c458dc453fd53a261c1covener * Build scripts do not recognise AIX 4.2.1 pthreads, so the
d7205b1a86c51c27b71a2c458dc453fd53a261c1covener pthread MPMs will not build.
44ff304057225e944e220e981d434a046d14cf06covener
44ff304057225e944e220e981d434a046d14cf06covener * Win32: Reuse accept socket after transmitfile/close
44ff304057225e944e220e981d434a046d14cf06covener This is not a bug, but would be nice to get this feature in
44ff304057225e944e220e981d434a046d14cf06covener before ship.
5d1ba75b8794925e67591c209085a49279791de9covener
5d1ba75b8794925e67591c209085a49279791de9covener * Win32: Enable the winnt MPM to use the new scoreboard API
5d1ba75b8794925e67591c209085a49279791de9covener
032982212dbcc7c3cce95bf89c503bb56e185ac7kbrand * Win32: Graceful restart of a service is broken (code does shutdown
032982212dbcc7c3cce95bf89c503bb56e185ac7kbrand then start)
032982212dbcc7c3cce95bf89c503bb56e185ac7kbrand
032982212dbcc7c3cce95bf89c503bb56e185ac7kbrand * Platforms that do not support fork (primarily Win32 and AS/400)
caad2986f81ab263f7af41467dd622dc9add17f3ylavic Consider introducing HAVE_FORK feature macro. Architect start-up code
caad2986f81ab263f7af41467dd622dc9add17f3ylavic that avoids initializing all the modules in the parent process on
caad2986f81ab263f7af41467dd622dc9add17f3ylavic platforms that do not support fork.
caad2986f81ab263f7af41467dd622dc9add17f3ylavic
45a10d38e6051fd7bdf9d742aaae633d97ff02abjailletc * Clean the code. There are a lot of places we used APR but didn't
f7317ff316c2b141feea31bddb74d5d3fa1584edjorton remove the hacks that were required for the cross-platform code in
f7317ff316c2b141feea31bddb74d5d3fa1584edjorton 1.3. We need to make the code look like APR was supposed to be there.
2165214331e4afafca4048f66f303d0253d7b001covener
a34684a59b60a4173c25035d0c627ef17e6dc215rpluem * Go throught the 1.3 Bug DB and research the bugs marked "suspended".
a34684a59b60a4173c25035d0c627ef17e6dc215rpluem People were told these would be considered for inclusion in Apache 2.0,
1e2d421a36999d292042a5539971070d54aa6c63ylavic it would be nice to actually do so.
1e2d421a36999d292042a5539971070d54aa6c63ylavic
1e2d421a36999d292042a5539971070d54aa6c63ylavic * Win32: Migrate the MPM over to use APR thread/process calls. This
fa7ed98b9dc94c5845cf845aea0a44ecacd290c9humbedooh would eliminate some code in the Win32 branch that essentially
fa7ed98b9dc94c5845cf845aea0a44ecacd290c9humbedooh duplicates what is in APR.
fa7ed98b9dc94c5845cf845aea0a44ecacd290c9humbedooh
0b67eb8568cd58bb77082703951679b42cf098actrawick Bill says we need a new procattr, APR_CREATE_SUSPENDED (or
0b67eb8568cd58bb77082703951679b42cf098actrawick something similar) to direct ap_create_process to create the
0b67eb8568cd58bb77082703951679b42cf098actrawick process suspended. We also need a call to wake up the suspended
0b67eb8568cd58bb77082703951679b42cf098actrawick process This may not be able to be implemented everywhere though.
5ef3c61605a3a021ff71f488983cb0065f8e1a79covener
fb1985a97912b25ec6564c73e610a31e5fc6e25fcovener Status:
09c87c777bed1655621bb20e1c46cb6b1a63279dcovener
6502b7b32f980cc2093bb3ebce37e5e4dc68fba4ylavic * Move I/O layering into APR.
6502b7b32f980cc2093bb3ebce37e5e4dc68fba4ylavic
3060ce7f798fbda7999cd4ddf89b525d2b294185covener * There are still a number of places in the code where we are
c1a63b8fad09c419c1a64f75993feb8a343a6801ylavic loosing error status (i.e. throwing away the error returned by a
c1a63b8fad09c419c1a64f75993feb8a343a6801ylavic system call and replacing it with a generic error code)
c1a63b8fad09c419c1a64f75993feb8a343a6801ylavic
e6b4bd1113567627ab6bb6c6a7105e1e01a7d889jailletc * Win32: Implement reliable piped logs on Windows
e6b4bd1113567627ab6bb6c6a7105e1e01a7d889jailletc Status:
e466c40e1801982602ee0200c9e8b61cc148742djailletc
e466c40e1801982602ee0200c9e8b61cc148742djailletc * Switch to autoconf, et al. for configuration.
457468b82e59d01eba00dd9d0817309c8f5e414ejim Status: Manoj has placed an initial version into the 2.0
457468b82e59d01eba00dd9d0817309c8f5e414ejim repository. Todos include:
457468b82e59d01eba00dd9d0817309c8f5e414ejim
04983e3bd1754764eec7d6bb772fe3b0bf391771jorton * Use APR to get rid of more platform dependancies.
04983e3bd1754764eec7d6bb772fe3b0bf391771jorton Status: Ryan Bloom <rbb@covalenet.net> is working on this.
15890c9306ba98f6fc243e15a3c4778ddc7d773erpluem
15660979a30d251681463de2e0584853890082accovener * The connection status table is not very efficient. Also, very few stats
15660979a30d251681463de2e0584853890082accovener are exported to the connection status table (easy to fix), and mod_status
49dacedb6c387b786b7911082ff35121a45f414bcovener is ugly.
49dacedb6c387b786b7911082ff35121a45f414bcovener
cfd9415521847b2f9394fad04fb701cfb955f503rjung * Optimise the name-based <VirtualHost> implementation so that it uses
cfd9415521847b2f9394fad04fb701cfb955f503rjung a hash table instead of a linear linked list scan.
cfd9415521847b2f9394fad04fb701cfb955f503rjung
28c31fb73c1264bd1d0ff932573677030b024c7dwrowe * Mass vhosting version of suEXEC.
28c31fb73c1264bd1d0ff932573677030b024c7dwrowe
28c31fb73c1264bd1d0ff932573677030b024c7dwrowe * Provide a sane API for handling the request's environment variables.
28c31fb73c1264bd1d0ff932573677030b024c7dwrowe
28c31fb73c1264bd1d0ff932573677030b024c7dwrowe * configuration option to use *DBM
8491e0600f69b0405e156ea8a419653c065c645bcovener Status: Greg +1 (volunteers)
63b9f1f5880391261705f696d7d65507bbe9ace3covener
63b9f1f5880391261705f696d7d65507bbe9ace3covener * add SDBM into src/lib/sdbm/ as a default/fallback DBM implementation.
63b9f1f5880391261705f696d7d65507bbe9ace3covener SDBM is used by Perl, mod_dav, mod_sssl, others for basic DBM support.
49dacedb6c387b786b7911082ff35121a45f414bcovener Status: Greg +1 (volunteers)
49dacedb6c387b786b7911082ff35121a45f414bcovener
49dacedb6c387b786b7911082ff35121a45f414bcovenerOther bugs that need fixing:
49dacedb6c387b786b7911082ff35121a45f414bcovener
3c990331fc6702119e4f5b8ba9eae3021aea5265jim * MaxRequestsPerChild measures connections, not requests.
3c990331fc6702119e4f5b8ba9eae3021aea5265jim Until someone has a better way, we'll probably just rename it
3c990331fc6702119e4f5b8ba9eae3021aea5265jim "MaxConnectionsPerChild".
3c990331fc6702119e4f5b8ba9eae3021aea5265jim
fc42512879dd0504532f52fe5d0d0383dda96a1eniq * Regex containers don't work in an intutive way
fc42512879dd0504532f52fe5d0d0383dda96a1eniq Status: No one has come up with an efficient way to fix this
fc42512879dd0504532f52fe5d0d0383dda96a1eniq behavior. Dean has suggested getting rid of regex containers
0451df5dc50fa5d8b3e07d92ee6a92e36a1181a5niq completely.
0451df5dc50fa5d8b3e07d92ee6a92e36a1181a5niq
0451df5dc50fa5d8b3e07d92ee6a92e36a1181a5niq * SIGSEGV on Linux (glibc 2.1.2) isn't caught properly by a
da0442c0440caef34706e2c2f3af05cb65921cc0jailletc sigwaiting thread. We need to work around this, perhaps unless
983528026996668ea295be95aedb9c7a346af470ylavic there is hope soon for a fixed glibc.
da0442c0440caef34706e2c2f3af05cb65921cc0jailletc
da0442c0440caef34706e2c2f3af05cb65921cc0jailletcOther features that need writing:
06b8f183140c8e02e0974e938a05078b511d1603covener
06b8f183140c8e02e0974e938a05078b511d1603covener * Finish infrastructure in core for async MPMs
06b8f183140c8e02e0974e938a05078b511d1603covener Status: post 2.0
15890c9306ba98f6fc243e15a3c4778ddc7d773erpluem
259878293a997ff49f5ddfc53d3739cbdc25444ecovener * TODO in source -- just do an egrep on "TODO" and see what's there
259878293a997ff49f5ddfc53d3739cbdc25444ecovener
259878293a997ff49f5ddfc53d3739cbdc25444ecovenerDocumentation that needs writing:
259878293a997ff49f5ddfc53d3739cbdc25444ecovener * Mod_status docs are needed.
15890c9306ba98f6fc243e15a3c4778ddc7d773erpluem
b54b024c06a19926832d77d40ba35ad8c41e4d3dminfrin * The concept of MPMs, especially if we ship more than one MPM for a
b54b024c06a19926832d77d40ba35ad8c41e4d3dminfrin given platform
b54b024c06a19926832d77d40ba35ad8c41e4d3dminfrin
65967d05f839dbf27cf91d91fa79585eeae19660minfrin * New directives in the various MPMs and appropriate links from
65967d05f839dbf27cf91d91fa79585eeae19660minfrin obsolete directives in core.html to the MPM documentation.
65967d05f839dbf27cf91d91fa79585eeae19660minfrin
65967d05f839dbf27cf91d91fa79585eeae19660minfrin * Revise manual/stopping.html and the last part of
8152945ae46857b170cb227e79bb799f4fc7710dminfrin manual/misc/perf-tuning.html to take account of the MPMs.
8152945ae46857b170cb227e79bb799f4fc7710dminfrin
8152945ae46857b170cb227e79bb799f4fc7710dminfrin * API documentation
8152945ae46857b170cb227e79bb799f4fc7710dminfrin Status: Ben Laurie has written some hooks documentation
75f5c2db254c0167a0e396254460de09b775d203trawick (apache-2.0/htdocs/hooks.html)
75f5c2db254c0167a0e396254460de09b775d203trawick
75f5c2db254c0167a0e396254460de09b775d203trawick * Changes since 1.3.9 can be more easily seen in the commitlog file
4f0358189bfa57b8e75bd6b94db264302a8f336amrumph dev.apache.org:/home/cvs/CVSROOT/commitlogs/apache-2.0
4f0358189bfa57b8e75bd6b94db264302a8f336amrumph which includes some of Roy's comments when the changes were
4f0358189bfa57b8e75bd6b94db264302a8f336amrumph committed in rough change-sets by purpose. Note that the commitlog
5716f9c6daa92dde5f2f9d11ed63f7c9549c223atrawick does not show the contents of new files until later.
5716f9c6daa92dde5f2f9d11ed63f7c9549c223atrawick
5716f9c6daa92dde5f2f9d11ed63f7c9549c223atrawickAvailable Patches:
5716f9c6daa92dde5f2f9d11ed63f7c9549c223atrawick
54d750a84a175d8e338880514d440773eb986b50covener * Ken's patch to make htpasswd a usable tool for other databases.
54d750a84a175d8e338880514d440773eb986b50covener Message-ID: <392AFA06.716E8374@Golux.Com>
54d750a84a175d8e338880514d440773eb986b50covener Status:
54d750a84a175d8e338880514d440773eb986b50covener
54d750a84a175d8e338880514d440773eb986b50covener * Mike Abbott's <mja@trudge.engr.sgi.com> patches to improve
54d750a84a175d8e338880514d440773eb986b50covener performance
54d750a84a175d8e338880514d440773eb986b50covener Status: These were written for 1.3, and are awaiting a port to
54d750a84a175d8e338880514d440773eb986b50covener 2.0
7a3aa12f0eda24793ee26d6a179bd53132e9dae8covener
54d750a84a175d8e338880514d440773eb986b50covenerOpen issues:
54d750a84a175d8e338880514d440773eb986b50covener
83b50288fa7d306324bba68832011ea08f5c7832covener * What do we do about mod_proxy?
4e30ef014533a7e93c92d88306291f5e49c9692ftrawick
83b50288fa7d306324bba68832011ea08f5c7832covener * Which MPMs will be included with Apache 2.0?
5f066f496cd9f20a2a701255bc67d44e7cb46daetrawick
5f066f496cd9f20a2a701255bc67d44e7cb46daetrawick * Is conf/highperformance.conf-dist obsolete? It looks obsolete.
5f066f496cd9f20a2a701255bc67d44e7cb46daetrawick
2e15620d724fb8e3a5be183b917359a2fd6e9468covener