STATUS revision d4f1d9c1ff112a8ab9bee31f196973761329b236
c5c4113dfcabb1eed3d4bdf7609de5170027a794nwApache 2.0 STATUS:
c5c4113dfcabb1eed3d4bdf7609de5170027a794nwLast modified at [$Date: 2000/06/12 21:46:35 $]
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw 2.0a5 : ???
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw 2.0a4 : released June 7, 2000
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw 2.0a3 : released April 28, 2000
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw 2.0a2 : released March 31, 2000
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw 2.0a1 : released March 10, 2000
c5c4113dfcabb1eed3d4bdf7609de5170027a794nwRELEASE SHOWSTOPPERS:
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw * Turn on buffering for config file reads.
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw * Win32: Get mod_auth_digest working under win32
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw - APR_HAS_RANDOM should be defined on windows and there is a
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw lib/apr/misc/win32/rand.c which is basically a copy of what
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw mod_auth_digest used to use.
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw * Re-work configuration for top level Apache. Work should start with
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw trying to clean the autoconf stuff. If and only if this proves
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw impossible to do (very unlikely), autoconf should be removed and we
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw will roll our own config implementation.
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw NOTE: When this is implemented, it would be really nice if the
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw default cgi module on Unix with a threaded MPM is the cgid
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw module. This should be override-able of course.
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw Status: Jim Jagielski is looking into this.
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw - Fix up ./configure to properly detect the various dynamic load
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw libraries/flags on the different platforms (current, we default
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw to -ldl which is wrong).
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw * suEXEC doesn't work
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw Status: Manoj has posted an patch to fix this.
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw <19991103003605.A20612@samosa.mindspring.com>
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw * Win32: Enable the Windows MPM to honor max_requests_per_child
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw Status: Bill will fix this.
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw * Win32: Get Apache working on Windows 95/98. The following work
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw (at least) needs to be done:
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw - winnt MPM: Fix 95/98 code paths in the winnt MPM. There is some NT
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw specific code that is still not in NT only code paths
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw - IOL binds to APR sendfile, implemented with TransmitFile, which
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw is not available on 95/98.
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw * Win32: Test access logging with multiple threads. Will the
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw native file I/O calls serialize automagically like the
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw CRT calls or do we need to add region locking each time
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw we access the logs?
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw * Win32: Complete the revamp the service environment and relocation
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw into the WinNT MPM. Changes ServerRoot service registry
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw parameter into ConfigArgs for multiple service startup parameters.
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw Problems to fix in the revamp: -k shutdown/restart are broken,
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw signals are not being acknowledged. Close window and shutdown
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw also seem out of sorts.
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw OtherBill is working on this
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw * Win32: fix build/run time environment to remove ApacheCore.dll
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw * We need a thread-safe resolver, at least on Unix.
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw Status: The best known candidate would be something from
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw Status: Greg asks, "why? doesn't gethostbyname_r() handle this?"
c5c4113dfcabb1eed3d4bdf7609de5170027a794nwRELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw * OS/2: Get loadable modules working again. Requires shared core support
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw which doesn't appear to be catered for in the current build system.
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw * OS/2: Make mod_status work for spmt_os2 MPM.
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw * Build scripts do not recognise AIX 4.2.1 pthreads, so the
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw pthread MPMs will not build.
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw * Win32: Reuse accept socket after transmitfile/close
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw This is not a bug, but would be nice to get this feature in
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw before ship.
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw * Win32: Enable the winnt MPM to use the new scoreboard API
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw * Win32: Implement ap_shm_ functions in APR.
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw * Win32: Win9x console window still won't play nice with the
62c6006265c37877b7a5b3c8ffce913ef559b955baban close window, logoff and shutdown scenarios.
62c6006265c37877b7a5b3c8ffce913ef559b955baban * Win32: Add a simple hold console open patch (wait for close or
62c6006265c37877b7a5b3c8ffce913ef559b955baban the ESC key, with a nice message) if the server died a bad
62c6006265c37877b7a5b3c8ffce913ef559b955baban death (non-zero exit code) in console mode.
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw * Platforms that do not support fork (primarily Win32 and AS/400)
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw Consider introducing HAVE_FORK feature macro. Architect start-up code
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw that avoids initializing all the modules in the parent process on
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw platforms that do not support fork.
62c6006265c37877b7a5b3c8ffce913ef559b955baban * Clean the code. There are a lot of places we used APR but didn't
62c6006265c37877b7a5b3c8ffce913ef559b955baban remove the hacks that were required for the cross-platform code in
62c6006265c37877b7a5b3c8ffce913ef559b955baban 1.3. We need to make the code look like APR was supposed to be there.
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw * Go throught the 1.3 Bug DB and research the bugs marked "suspended".
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw People were told these would be considered for inclusion in Apache 2.0,
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw it would be nice to actually do so.
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw * Win32: Migrate the MPM over to use APR thread/process calls. This
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw would eliminate some code in the Win32 branch that essentially
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw duplicates what is in APR.
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw Bill says we need a new procattr, APR_CREATE_SUSPENDED (or
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw something similar) to direct ap_create_process to create the
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw process suspended. We also need a call to wake up the suspended
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw process This may not be able to be implemented everywhere though.
62c6006265c37877b7a5b3c8ffce913ef559b955baban * Move I/O layering into APR.
62c6006265c37877b7a5b3c8ffce913ef559b955baban * There are still a number of places in the code where we are
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw loosing error status (i.e. throwing away the error returned by a
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw system call and replacing it with a generic error code)
62c6006265c37877b7a5b3c8ffce913ef559b955baban * Win32: Implement reliable piped logs on Windows
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw * Use APR to get rid of more platform dependancies.
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw Status: Ryan Bloom <rbb@covalenet.net> is working on this.
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw * The connection status table is not very efficient. Also, very few stats
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw are exported to the connection status table (easy to fix), and mod_status
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw * Mass vhosting version of suEXEC.
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw * Replace tables with a proper opaque ADT that has pluggable
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw implementations (including something like the existing data type,
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw plus hash tables for speed, with options for more later).
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw Status: fanf is working on this.
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw * configuration option to use *DBM
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw Status: Greg +1 (volunteers)
8e22821528b08c6dba4e8176351560f316f6d0dedm * add SDBM into src/lib/sdbm/ as a default/fallback DBM implementation.
8e22821528b08c6dba4e8176351560f316f6d0dedm SDBM is used by Perl, mod_dav, mod_sssl, others for basic DBM support.
8e22821528b08c6dba4e8176351560f316f6d0dedm Status: Greg +1 (volunteers)
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw * Integrate mod_dav.
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw Message-id: forthcoming (plan to be posted before integration begins)
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw Status: Greg +1 (volunteers :-)
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw * ap_core_translate() and its use by mod_mmap_static are a bit wonky.
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw The function should probably be exposed as a utility function (such
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw as ap_translate_url2fs() or ap_validate_fs_url() or something).
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw Another approach would be a new hook phase after "translate" which
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw would allow mod_mmap_static to munge what the translation has
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw decided to do.
84decf41e1c0970e397cc8710dfcf81db5b8c6dajp Status: Greg +1 (volunteers), Ryan +1
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw * Go through ap_config.h and namespace-protect the symbols (e.g. USE_*).
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw Some symbols can/should move to mpm_common.h where possible.
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw * Explore use of a post-config hook for the code in http_main.c which
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw calls ap_fixup_virutal_hosts(), ap_fini_vhost_config(), and
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw ap_sort_hooks() [to reduce the logic in main()]
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw * read the config tree just once, and process N times (as necessary)
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw * add a version number to ap_initialize() as an extra failsafe against
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw (APR) library version skew.
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw MsgID: <Pine.LNX.4.10.10005231712380.31927-100000@nebula.lyra.org>
8e22821528b08c6dba4e8176351560f316f6d0dedm Status: Greg +1 (volunteers), Jeff +1, Ryan +1, Tony -0(?)
c5c4113dfcabb1eed3d4bdf7609de5170027a794nwOther bugs that need fixing:
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw * MaxRequestsPerChild measures connections, not requests.
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw Until someone has a better way, we'll probably just rename it
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw "MaxConnectionsPerChild".
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw * Regex containers don't work in an intutive way
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw Status: No one has come up with an efficient way to fix this
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw behavior. Dean has suggested getting rid of regex containers
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw completely.
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw * SIGSEGV on Linux (glibc 2.1.2) isn't caught properly by a
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw sigwaiting thread. We need to work around this, perhaps unless
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw there is hope soon for a fixed glibc.
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw * The mod_cgid daemon process isn't always cleaned up when httpd
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw gets SIGTERM. Jeff thinks it may be as simple as registering
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw the daemon process for cleanup with the proper pool, but he hasn't
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw looked at it in enough detail.
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw * The MM library is built as static and shared library. This should
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw be set up to build only the required version.
c5c4113dfcabb1eed3d4bdf7609de5170027a794nwOther features that need writing:
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw * Finish infrastructure in core for async MPMs
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw Status: post 2.0
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw * TODO in source -- just do an egrep on "TODO" and see what's there
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.