STATUS revision db3ccce11afac4fc1d4f51a65424412f7480c46c
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgunApache 2.0 STATUS:
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgunLast modified at [$Date: 2000/06/06 21:46:40 $]
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgunRelease:
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun 2.0a4 : vague plans to release mid-May
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun 2.0a3 : released April 28, 2000
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun 2.0a2 : released March 31, 2000
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun 2.0a1 : released March 10, 2000
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgunRELEASE SHOWSTOPPERS:
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * Win32: Get mod_auth_digest working under win32
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun - APR_HAS_RANDOM should be defined on windows and there is a
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun lib/apr/misc/win32/rand.c which is basically a copy of what
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun mod_auth_digest used to use.
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * Re-work configuration for top level Apache. Work should start with
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun trying to clean the autoconf stuff. If and only if this proves
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun impossible to do (very unlikely), autoconf should be removed and we
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun will roll our own config implementation.
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun NOTE: When this is implemented, it would be really nice if the
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun default cgi module on Unix with a threaded MPM is the cgid
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun module. This should be override-able of course.
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun Status: Jim Jagielski is looking into this.
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * suEXEC doesn't work
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun Status: Manoj has posted an patch to fix this.
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun <19991103003605.A20612@samosa.mindspring.com>
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * Win32: Enable the Windows MPM to honor max_requests_per_child
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun Status: Bill will fix this.
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * Win32: Get Apache working on Windows 95/98. The following work
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun (at least) needs to be done:
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun - winnt MPM: Fix 95/98 code paths in the winnt MPM. There is some NT
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun specific code that is still not in NT only code paths
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun - IOL binds to APR sendfile, implemented with TransmitFile, which
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun is not available on 95/98.
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * Win32: Test access logging with multiple threads. Will the
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun native file I/O calls serialize automagically like the
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun CRT calls or do we need to add region locking each time
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun we access the logs?
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun Status:
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * Win32: Complete the revamp the service environment and relocation
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun into the WinNT MPM. Changes ServerRoot service registry
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun parameter into ConfigArgs for multiple service startup parameters.
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun Problems to fix in the revamp: -k shutdown/restart are broken,
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun signals are not being acknowledged. Close window and shutdown
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun also seem out of sorts.
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun OtherBill is working on this
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * Win32: fix build/run time environment to remove ApacheCore.dll
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun linkage from ab.exe and htdigest.exe.
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * We need a thread-safe resolver, at least on Unix.
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun Status: The best known candidate would be something from
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun BIND v9.
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun Status: Greg asks, "why? doesn't gethostname_r() handle this?"
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * Fix up ./configure to properly detect the various dynamic load
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun libraries/flags on the different platforms (current, we default to
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun -ldl which is wrong).
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgunRELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * OS/2: Get loadable modules working again. Requires shared core support
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun which doesn't appear to be catered for in the current build system.
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * OS/2: Make mod_status work for spmt_os2 MPM.
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * Build scripts do not recognise AIX 4.2.1 pthreads, so the
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun pthread MPMs will not build.
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * Win32: Reuse accept socket after transmitfile/close
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun This is not a bug, but would be nice to get this feature in
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun before ship.
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * Win32: Enable the winnt MPM to use the new scoreboard API
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * Win32: Implement ap_shm_ functions in APR.
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * Win32: Win9x console window still won't play nice with the
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun close window, logoff and shutdown scenarios.
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * Win32: Add a simple hold console open patch (wait for close or
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun the ESC key, with a nice message) if the server died a bad
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun death (non-zero exit code) in console mode.
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * Platforms that do not support fork (primarily Win32 and AS/400)
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun Consider introducing HAVE_FORK feature macro. Architect start-up code
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun that avoids initializing all the modules in the parent process on
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun platforms that do not support fork.
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * Clean the code. There are a lot of places we used APR but didn't
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun remove the hacks that were required for the cross-platform code in
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun 1.3. We need to make the code look like APR was supposed to be there.
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * Go throught the 1.3 Bug DB and research the bugs marked "suspended".
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun People were told these would be considered for inclusion in Apache 2.0,
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun it would be nice to actually do so.
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * Win32: Migrate the MPM over to use APR thread/process calls. This
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun would eliminate some code in the Win32 branch that essentially
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun duplicates what is in APR.
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun Bill says we need a new procattr, APR_CREATE_SUSPENDED (or
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun something similar) to direct ap_create_process to create the
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun process suspended. We also need a call to wake up the suspended
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun process This may not be able to be implemented everywhere though.
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun Status:
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * Move I/O layering into APR.
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * There are still a number of places in the code where we are
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun loosing error status (i.e. throwing away the error returned by a
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun system call and replacing it with a generic error code)
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * Win32: Implement reliable piped logs on Windows
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun Status:
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * Switch to autoconf, et al. for configuration.
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun Status: Manoj has placed an initial version into the 2.0
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun repository. Todos include:
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * Use APR to get rid of more platform dependancies.
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun Status: Ryan Bloom <rbb@covalenet.net> is working on this.
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * The connection status table is not very efficient. Also, very few stats
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun are exported to the connection status table (easy to fix), and mod_status
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun is ugly.
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * Optimise the name-based <VirtualHost> implementation so that it uses
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun a hash table instead of a linear linked list scan.
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * Mass vhosting version of suEXEC.
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * Provide a sane API for handling the request's environment variables.
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * configuration option to use *DBM
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun Status: Greg +1 (volunteers)
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * add SDBM into src/lib/sdbm/ as a default/fallback DBM implementation.
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun SDBM is used by Perl, mod_dav, mod_sssl, others for basic DBM support.
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun Status: Greg +1 (volunteers)
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * Get mod_mmap_static working on 2.0. Greg Ames posted a patch on
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun 05/26/2000 to get it running and to improve performance.
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * Integrate mod_dav.
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun Message-id: forthcoming (plan to be posted before integration begins)
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun Status: Greg +1 (volunteers :-)
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgunOther bugs that need fixing:
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * MaxRequestsPerChild measures connections, not requests.
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun Until someone has a better way, we'll probably just rename it
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun "MaxConnectionsPerChild".
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * Regex containers don't work in an intutive way
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun Status: No one has come up with an efficient way to fix this
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun behavior. Dean has suggested getting rid of regex containers
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun completely.
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * SIGSEGV on Linux (glibc 2.1.2) isn't caught properly by a
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun sigwaiting thread. We need to work around this, perhaps unless
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun there is hope soon for a fixed glibc.
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgunOther features that need writing:
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * Finish infrastructure in core for async MPMs
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun Status: post 2.0
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * TODO in source -- just do an egrep on "TODO" and see what's there
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgunDocumentation that needs writing:
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * Mod_status docs are needed.
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * The concept of MPMs, especially if we ship more than one MPM for a
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun given platform
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * New directives in the various MPMs and appropriate links from
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun obsolete directives in core.html to the MPM documentation.
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * Revise manual/stopping.html and the last part of
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun manual/misc/perf-tuning.html to take account of the MPMs.
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * API documentation
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun Status: Ben Laurie has written some hooks documentation
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun (apache-2.0/htdocs/hooks.html)
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * Changes since 1.3.9 can be more easily seen in the commitlog file
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun dev.apache.org:/home/cvs/CVSROOT/commitlogs/apache-2.0
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun which includes some of Roy's comments when the changes were
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun committed in rough change-sets by purpose. Note that the commitlog
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun does not show the contents of new files until later.
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgunAvailable Patches:
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * Mike Abbott's <mja@trudge.engr.sgi.com> patches to improve
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun performance
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun Status: These were written for 1.3, and are awaiting a port to
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun 2.0
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgunOpen issues:
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * What do we do about mod_proxy?
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * Which MPMs will be included with Apache 2.0?
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * Is conf/highperformance.conf-dist obsolete? It looks obsolete.
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun