STATUS revision e1c3000228ddea532093e3a5ca1cdaa7353471be
2N/AApache 2.0 STATUS:
2N/ALast modified at [$Date: 2000/07/10 11:23:12 $]
2N/A
2N/ARelease:
2N/A
2N/A 2.0a5 : ???
2N/A 2.0a4 : released June 7, 2000
2N/A 2.0a3 : released April 28, 2000
2N/A 2.0a2 : released March 31, 2000
2N/A 2.0a1 : released March 10, 2000
2N/A
2N/ARELEASE SHOWSTOPPERS:
2N/A * Win32: Get mod_auth_digest working under win32
2N/A - APR_HAS_RANDOM should be defined on windows and there is a
2N/A lib/apr/misc/win32/rand.c which is basically a copy of what
2N/A mod_auth_digest used to use.
2N/A
2N/A * suEXEC doesn't work
2N/A Status: Manoj has posted an patch to fix this.
2N/A <19991103003605.A20612@samosa.mindspring.com>
2N/A
2N/A * Win32: Enable the Windows MPM to honor max_requests_per_child
2N/A Status: Bill will fix this.
2N/A
2N/A * Win32: Get Apache working on Windows 95/98. The following work
2N/A (at least) needs to be done:
2N/A - winnt MPM: Fix 95/98 code paths in the winnt MPM. There is some NT
2N/A specific code that is still not in NT only code paths
2N/A - IOL binds to APR sendfile, implemented with TransmitFile, which
2N/A is not available on 95/98.
2N/A
2N/A * Win32: Test access logging with multiple threads. Will the
2N/A native file I/O calls serialize automagically like the
2N/A CRT calls or do we need to add region locking each time
2N/A we access the logs?
2N/A Status:
2N/A
2N/A * Win32: Complete the revamp the service environment and relocation
2N/A into the WinNT MPM. Changes ServerRoot service registry
2N/A parameter into ConfigArgs for multiple service startup parameters.
2N/A Problems to fix in the revamp: -k shutdown/restart are broken,
2N/A signals are not being acknowledged. Close window and shutdown
2N/A also seem out of sorts.
2N/A OtherBill is working on this
2N/A
2N/A * Win32: fix build/run time environment to remove ApacheCore.dll
2N/A linkage from ab.exe and htdigest.exe.
2N/A
2N/A * We need a thread-safe resolver, at least on Unix.
2N/A Status: The best known candidate would be something from
2N/A BIND v9.
2N/A Status: Greg asks, "why? doesn't gethostbyname_r() handle this?"
2N/A
2N/A * Modify mod_cgi and mod_cgid to deal with directories. This allows
2N/A a lot of directives to be removed from the core.
2N/A
2N/ARELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:
2N/A * OS/2: Get loadable modules working again. Requires shared core support
2N/A which doesn't appear to be catered for in the current build system.
2N/A
2N/A * OS/2: Make mod_status work for spmt_os2 MPM.
2N/A
2N/A * Build scripts do not recognise AIX 4.2.1 pthreads, so the
2N/A pthread MPMs will not build.
2N/A
2N/A * Win32: Reuse accept socket after transmitfile/close
2N/A This is not a bug, but would be nice to get this feature in
2N/A before ship.
2N/A
2N/A * Win32: Enable the winnt MPM to use the new scoreboard API
2N/A
2N/A * Win32: Implement ap_shm_ functions in APR.
2N/A
2N/A * Win32: Win9x console window still won't play nice with the
2N/A close window, logoff and shutdown scenarios.
2N/A
2N/A * Win32: Add a simple hold console open patch (wait for close or
2N/A the ESC key, with a nice message) if the server died a bad
2N/A death (non-zero exit code) in console mode.
2N/A
2N/A * Platforms that do not support fork (primarily Win32 and AS/400)
2N/A Consider introducing HAVE_FORK feature macro. Architect start-up code
2N/A that avoids initializing all the modules in the parent process on
2N/A platforms that do not support fork.
2N/A
2N/A * Clean the code. There are a lot of places we used APR but didn't
2N/A remove the hacks that were required for the cross-platform code in
2N/A 1.3. We need to make the code look like APR was supposed to be there.
2N/A
2N/A * Go throught the 1.3 Bug DB and research the bugs marked "suspended".
2N/A People were told these would be considered for inclusion in Apache 2.0,
2N/A it would be nice to actually do so.
2N/A
2N/A * Win32: Migrate the MPM over to use APR thread/process calls. This
2N/A would eliminate some code in the Win32 branch that essentially
2N/A duplicates what is in APR.
2N/A
2N/A Bill says we need a new procattr, APR_CREATE_SUSPENDED (or
2N/A something similar) to direct ap_create_process to create the
2N/A process suspended. We also need a call to wake up the suspended
2N/A process This may not be able to be implemented everywhere though.
2N/A
2N/A Status:
2N/A
2N/A * Move I/O layering into APR.
2N/A
2N/A * There are still a number of places in the code where we are
2N/A loosing error status (i.e. throwing away the error returned by a
2N/A system call and replacing it with a generic error code)
2N/A
2N/A * Win32: Implement reliable piped logs on Windows
2N/A Status:
2N/A
2N/A * Use APR to get rid of more platform dependancies.
2N/A Status: Ryan Bloom <rbb@covalenet.net> is working on this.
2N/A
2N/A * The connection status table is not very efficient. Also, very few stats
2N/A are exported to the connection status table (easy to fix), and mod_status
2N/A is ugly.
2N/A
2N/A * Mass vhosting version of suEXEC.
2N/A
2N/A * Replace tables with a proper opaque ADT that has pluggable
2N/A implementations (including something like the existing data type,
2N/A plus hash tables for speed, with options for more later).
2N/A Status: fanf is working on this.
2N/A
2N/A * configuration option to use *DBM
2N/A Status: Greg +1 (volunteers)
2N/A
2N/A * add SDBM into src/lib/sdbm/ as a default/fallback DBM implementation.
2N/A SDBM is used by Perl, mod_dav, mod_sssl, others for basic DBM support.
2N/A Status: Greg +1 (volunteers)
2N/A
2N/A * Integrate mod_dav.
2N/A Message-id: <20000625173247.M29590@lyra.org>
2N/A Status: works. passes initial regression testing. Joe Orton
2N/A reports success with his "cadaver" tool.
2N/A Some additional items remaining:
2N/A - case_preserved_filename stuff
2N/A - fix and re-enable sdbm_lock.c
2N/A - find a new home for ap_text(_header)
2N/A - is it possible to remove the DAV: namespace stuff from util_xml?
2N/A
2N/A * ap_core_translate() and its use by mod_mmap_static are a bit wonky.
2N/A The function should probably be exposed as a utility function (such
2N/A as ap_translate_url2fs() or ap_validate_fs_url() or something).
2N/A Another approach would be a new hook phase after "translate" which
2N/A would allow mod_mmap_static to munge what the translation has
2N/A decided to do.
2N/A Status: Greg +1 (volunteers), Ryan +1
2N/A
2N/A * Go through ap_config.h and namespace-protect the symbols (e.g. USE_*).
2N/A Some symbols can/should move to mpm_common.h where possible.
2N/A
2N/A * Explore use of a post-config hook for the code in http_main.c which
2N/A calls ap_fixup_virutal_hosts(), ap_fini_vhost_config(), and
2N/A ap_sort_hooks() [to reduce the logic in main()]
2N/A
2N/A * read the config tree just once, and process N times (as necessary)
2N/A
2N/A * add a version number to ap_initialize() as an extra failsafe against
2N/A (APR) library version skew.
2N/A MsgID: <Pine.LNX.4.10.10005231712380.31927-100000@nebula.lyra.org>
2N/A Status: Greg +1 (volunteers), Jeff +1, Ryan +1, Tony -0(?)
2N/A
2N/A * mod_info to use the configuration tree
2N/A
2N/A * add output filtering
2N/A Greg's patch:
2N/A MsgID: <20000701162857.D29590@lyra.org> (patch)
2N/A MsgID: <20000704025038.V29590@lyra.org> (demo)
2N/A Status: Greg +1, Jim +1(?), Dirk -0, Ryan -0
2N/A
2N/A Ryan's patch:
2N/A MsgID: <Pine.LNX.4.21.0007072059120.18877-100000@koj.rkbloom.net>
2N/A Status: Dirk +1, Ryan +1, Greg -1
2N/A
2N/A Ryan's alternate patch:
2N/A MsgID: <Pine.LNX.4.21.0007091940440.16496-100000@koj.rkbloom.net>
2N/A Status: Ryan -0, Greg -1
2N/A
2N/AOther bugs that need fixing:
2N/A
2N/A * MaxRequestsPerChild measures connections, not requests.
2N/A Until someone has a better way, we'll probably just rename it
2N/A "MaxConnectionsPerChild".
2N/A
2N/A * Regex containers don't work in an intutive way
2N/A Status: No one has come up with an efficient way to fix this
2N/A behavior. Dean has suggested getting rid of regex containers
2N/A completely.
2N/A
2N/A * SIGSEGV on Linux (glibc 2.1.2) isn't caught properly by a
2N/A sigwaiting thread. We need to work around this, perhaps unless
2N/A there is hope soon for a fixed glibc.
2N/A
2N/A * The mod_cgid daemon process isn't always cleaned up when httpd
2N/A gets SIGTERM. Jeff thinks it may be as simple as registering
2N/A the daemon process for cleanup with the proper pool, but he hasn't
2N/A looked at it in enough detail.
2N/A
2N/A * The MM library is built as static and shared library. This should
2N/A be set up to build only the required version.
2N/A
2N/AOther features that need writing:
2N/A
2N/A * Finish infrastructure in core for async MPMs
2N/A Status: post 2.0
2N/A
2N/A * TODO in source -- just do an egrep on "TODO" and see what's there
2N/A
2N/ADocumentation that needs writing:
2N/A * Mod_status docs are needed.
2N/A
2N/A * The concept of MPMs, especially if we ship more than one MPM for a
2N/A given platform
2N/A
2N/A * New directives in the various MPMs and appropriate links from
2N/A obsolete directives in core.html to the MPM documentation.
2N/A
2N/A * Revise manual/stopping.html and the last part of
2N/A manual/misc/perf-tuning.html to take account of the MPMs.
2N/A
2N/A * API documentation
2N/A Status: Ben Laurie has written some hooks documentation
2N/A (apache-2.0/htdocs/hooks.html)
2N/A
2N/A * Changes since 1.3.9 can be more easily seen in the commitlog file
2N/A dev.apache.org:/home/cvs/CVSROOT/commitlogs/apache-2.0
2N/A which includes some of Roy's comments when the changes were
2N/A committed in rough change-sets by purpose. Note that the commitlog
2N/A does not show the contents of new files until later.
2N/A
2N/A * mod_dav documentation (once integrated)
2N/A
2N/AAvailable Patches:
2N/A
2N/A * Mike Abbott's <mja@trudge.engr.sgi.com> patches to improve
2N/A performance
2N/A Status: These were written for 1.3, and are awaiting a port to
2N/A 2.0
2N/A
2N/A * Jim Winstead's <jimw@trainedmonkey.com> patch to add CookieDomain and
2N/A other small mod_usertrack features
2N/A
2N/AOpen issues:
2N/A
2N/A * What do we do about mod_proxy?
2N/A
2N/A * Which MPMs will be included with Apache 2.0?
2N/A
2N/A * Is conf/highperformance.conf-dist obsolete? It looks obsolete.
2N/A
2N/A