STATUS revision b187d568e1507d75139ebc13ca945b38fc05d55c
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsyncApache 2.0 STATUS:
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsyncLast modified at [$Date: 2000/07/12 22:04:42 $]
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync 2.0a5 : ???
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync 2.0a4 : released June 7, 2000
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync 2.0a3 : released April 28, 2000
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync 2.0a2 : released March 31, 2000
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync 2.0a1 : released March 10, 2000
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsyncRELEASE SHOWSTOPPERS:
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync * apachectl not being built or installed
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync * Win32: Get mod_auth_digest working under win32
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync - APR_HAS_RANDOM should be defined on windows and there is a
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync lib/apr/misc/win32/rand.c which is basically a copy of what
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync mod_auth_digest used to use.
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync * suEXEC doesn't work
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync Status: Manoj has posted an patch to fix this.
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync <19991103003605.A20612@samosa.mindspring.com>
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync * Win32: Enable the Windows MPM to honor max_requests_per_child
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync Status: Bill will fix this.
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync * Win32: Get Apache working on Windows 95/98. The following work
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync (at least) needs to be done:
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync - winnt MPM: Fix 95/98 code paths in the winnt MPM. There is some NT
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync specific code that is still not in NT only code paths
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync - IOL binds to APR sendfile, implemented with TransmitFile, which
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync is not available on 95/98.
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync * Win32: Test access logging with multiple threads. Will the
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync native file I/O calls serialize automagically like the
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync CRT calls or do we need to add region locking each time
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync we access the logs?
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync * Win32: Complete the revamp the service environment and relocation
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync into the WinNT MPM. Changes ServerRoot service registry
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync parameter into ConfigArgs for multiple service startup parameters.
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync Problems to fix in the revamp: -k shutdown/restart are broken,
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync signals are not being acknowledged. Close window and shutdown
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync also seem out of sorts.
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync OtherBill is working on this
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync * Win32: fix build/run time environment to remove ApacheCore.dll
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync * We need a thread-safe resolver, at least on Unix.
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync Status: The best known candidate would be something from
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync Status: Greg asks, "why? doesn't gethostbyname_r() handle this?"
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync * Modify mod_cgi and mod_cgid to deal with directories. This allows
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync a lot of directives to be removed from the core.
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsyncRELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync * Combine log_child and piped_log_spawn. Clean up http_log.c.
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync Common logging API.
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync * Create unified scoreboard API and implementation shared across
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync * Document mod_file_cache.
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync * OS/2: Get loadable modules working again. Requires shared core support
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync which doesn't appear to be catered for in the current build system.
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync * OS/2: Make mod_status work for spmt_os2 MPM.
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync * Build scripts do not recognise AIX 4.2.1 pthreads, so the
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync pthread MPMs will not build.
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync * Win32: Enable the winnt MPM to use the new scoreboard API
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync * Win32: Implement ap_shm_ functions in APR.
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync * Win32: Win9x console window still won't play nice with the
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync close window, logoff and shutdown scenarios.
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync * Win32: Add a simple hold console open patch (wait for close or
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync the ESC key, with a nice message) if the server died a bad
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync death (non-zero exit code) in console mode.
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync * Platforms that do not support fork (primarily Win32 and AS/400)
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync Consider introducing HAVE_FORK feature macro. Architect start-up code
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync that avoids initializing all the modules in the parent process on
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync platforms that do not support fork.
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync * Clean the code. There are a lot of places we used APR but didn't
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync remove the hacks that were required for the cross-platform code in
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync 1.3. We need to make the code look like APR was supposed to be there.
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync * Go throught the 1.3 Bug DB and research the bugs marked "suspended".
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync People were told these would be considered for inclusion in Apache 2.0,
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync it would be nice to actually do so.
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync * Win32: Migrate the MPM over to use APR thread/process calls. This
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync would eliminate some code in the Win32 branch that essentially
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync duplicates what is in APR.
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync Bill says we need a new procattr, APR_CREATE_SUSPENDED (or
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync something similar) to direct ap_create_process to create the
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync process suspended. We also need a call to wake up the suspended
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync process This may not be able to be implemented everywhere though.
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync * There are still a number of places in the code where we are
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync loosing error status (i.e. throwing away the error returned by a
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync system call and replacing it with a generic error code)
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync * Win32: Implement reliable piped logs on Windows
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync * Use APR to get rid of more platform dependancies.
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync Status: Ryan Bloom <rbb@covalenet.net> is working on this.
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync * The connection status table is not very efficient. Also, very few stats
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync are exported to the connection status table (easy to fix), and mod_status
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync * Mass vhosting version of suEXEC.
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync * Replace tables with a proper opaque ADT that has pluggable
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync implementations (including something like the existing data type,
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync plus hash tables for speed, with options for more later).
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync Status: fanf is working on this.
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync * configuration option to use *DBM
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync Status: Greg +1 (volunteers)
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync * add SDBM into src/lib/sdbm/ as a default/fallback DBM implementation.
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync SDBM is used by Perl, mod_dav, mod_sssl, others for basic DBM support.
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync Status: Greg +1 (volunteers)
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync * Integrate mod_dav.
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync Message-id: <20000625173247.M29590@lyra.org>
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync Status: works. passes initial regression testing. Joe Orton
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync reports success with his "cadaver" tool.
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync Some additional items remaining:
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync - case_preserved_filename stuff
e0e0c19eefceaf5d4ec40f9466b58a771f50e799vboxsync - fix and re-enable sdbm_lock.c
8a5e0b7c43d7ee861689984edc2abd86b9ed4456vboxsync - find a new home for ap_text(_header)
8a5e0b7c43d7ee861689984edc2abd86b9ed4456vboxsync - is it possible to remove the DAV: namespace stuff from util_xml?
8a5e0b7c43d7ee861689984edc2abd86b9ed4456vboxsync * ap_core_translate() and its use by mod_mmap_static are a bit wonky.
8a5e0b7c43d7ee861689984edc2abd86b9ed4456vboxsync The function should probably be exposed as a utility function (such
8a5e0b7c43d7ee861689984edc2abd86b9ed4456vboxsync as ap_translate_url2fs() or ap_validate_fs_url() or something).
8a5e0b7c43d7ee861689984edc2abd86b9ed4456vboxsync Another approach would be a new hook phase after "translate" which
8a5e0b7c43d7ee861689984edc2abd86b9ed4456vboxsync would allow mod_mmap_static to munge what the translation has
8a5e0b7c43d7ee861689984edc2abd86b9ed4456vboxsync decided to do.
8a5e0b7c43d7ee861689984edc2abd86b9ed4456vboxsync Status: Greg +1 (volunteers), Ryan +1
8a5e0b7c43d7ee861689984edc2abd86b9ed4456vboxsync * Go through ap_config.h and namespace-protect the symbols (e.g. USE_*).
8a5e0b7c43d7ee861689984edc2abd86b9ed4456vboxsync Some symbols can/should move to mpm_common.h where possible.
d68511fc6827e32ca38d7bbaed520c34b6c9f050vboxsync * Explore use of a post-config hook for the code in http_main.c which
d68511fc6827e32ca38d7bbaed520c34b6c9f050vboxsync calls ap_fixup_virutal_hosts(), ap_fini_vhost_config(), and
d68511fc6827e32ca38d7bbaed520c34b6c9f050vboxsync ap_sort_hooks() [to reduce the logic in main()]
d68511fc6827e32ca38d7bbaed520c34b6c9f050vboxsync * read the config tree just once, and process N times (as necessary)
d68511fc6827e32ca38d7bbaed520c34b6c9f050vboxsync * add a version number to ap_initialize() as an extra failsafe against
d68511fc6827e32ca38d7bbaed520c34b6c9f050vboxsync (APR) library version skew.
7e032664d31552364e83b411950d6e7c96b0b880vboxsync MsgID: <Pine.LNX.4.10.10005231712380.31927-100000@nebula.lyra.org>
7e032664d31552364e83b411950d6e7c96b0b880vboxsync Status: Greg +1 (volunteers), Jeff +1, Ryan +1, Tony -0(?)
obsolete directives in core.html to the MPM documentation.
* Revise manual/stopping.html and the last part of
manual/misc/perf-tuning.html to take account of the MPMs.
* Is conf/highperformance.conf-dist obsolete? It looks obsolete.