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