STATUS revision db3ccce11afac4fc1d4f51a65424412f7480c46c
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgunApache 2.0 STATUS:
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgunLast modified at [$Date: 2000/06/06 21:46:40 $]
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
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 * 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 * suEXEC doesn't work
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun Status: Manoj has posted an patch to fix this.
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun <19991103003605.A20612@samosa.mindspring.com>
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * Win32: Enable the Windows MPM to honor max_requests_per_child
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun Status: Bill will fix this.
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 * 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 * 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 * Win32: fix build/run time environment to remove ApacheCore.dll
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * We need a thread-safe resolver, at least on Unix.
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun Status: The best known candidate would be something from
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun Status: Greg asks, "why? doesn't gethostname_r() handle this?"
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).
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 * OS/2: Make mod_status work for spmt_os2 MPM.
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * Build scripts do not recognise AIX 4.2.1 pthreads, so the
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun pthread MPMs will not build.
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 * Win32: Enable the winnt MPM to use the new scoreboard API
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * Win32: Implement ap_shm_ functions in APR.
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * Win32: Win9x console window still won't play nice with the
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun close window, logoff and shutdown scenarios.
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 * 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 * 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 * 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 * 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 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 * Move I/O layering into APR.
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 * Win32: Implement reliable piped logs on Windows
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 * Use APR to get rid of more platform dependancies.
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun Status: Ryan Bloom <rbb@covalenet.net> is working on this.
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 * Optimise the name-based <VirtualHost> implementation so that it uses
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun a hash table instead of a linear linked list scan.
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * Mass vhosting version of suEXEC.
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * Provide a sane API for handling the request's environment variables.
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * configuration option to use *DBM
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun Status: Greg +1 (volunteers)
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 * 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 * Integrate mod_dav.
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun Message-id: forthcoming (plan to be posted before integration begins)
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun Status: Greg +1 (volunteers :-)
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgunOther bugs that need fixing:
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * MaxRequestsPerChild measures connections, not requests.
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun Until someone has a better way, we'll probably just rename it
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun "MaxConnectionsPerChild".
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 * 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.
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgunOther features that need writing:
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * Finish infrastructure in core for async MPMs
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun Status: post 2.0
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * TODO in source -- just do an egrep on "TODO" and see what's there
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgunDocumentation that needs writing:
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * Mod_status docs are needed.
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * The concept of MPMs, especially if we ship more than one MPM for a
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun given platform
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * New directives in the various MPMs and appropriate links from
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun obsolete directives in core.html to the MPM documentation.
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * Revise manual/stopping.html and the last part of
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun manual/misc/perf-tuning.html to take account of the MPMs.
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * API documentation
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun Status: Ben Laurie has written some hooks documentation
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.
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgunAvailable Patches:
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
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgunOpen issues:
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * What do we do about mod_proxy?
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * Which MPMs will be included with Apache 2.0?
cf7e30cbcb392b723c7becd070a7e3fbaf625e1anilgun * Is conf/highperformance.conf-dist obsolete? It looks obsolete.