0N/AAPACHE 2.0 STATUS: -*-text-*-
2362N/ALast modified at [$Date: 2001/05/12 03:48:29 $]
0N/A 2.0.17 : rolled April 17, 2001
2362N/A 2.0.16 : rolled April 4, 2001
0N/A 2.0.15 : rolled March 21, 2001
2362N/A 2.0.14 : rolled March 7, 2001
0N/A 2.0a9 : released December 12, 2000
0N/A 2.0a8 : released November 20, 2000
0N/A 2.0a7 : released October 8, 2000
0N/A 2.0a6 : released August 18, 2000
0N/A 2.0a5 : released August 4, 2000
0N/A 2.0a4 : released June 7, 2000
0N/A 2.0a3 : released April 28, 2000
0N/A 2.0a2 : released March 31, 2000
0N/A 2.0a1 : released March 10, 2000
0N/ADAEDALUS 2.0 PROBLEMS:
2362N/A * mod_cgid and suexec have a problem co-existing. suexec sees a null
0N/A * core dump from 20010422
0N/A #1 0x8067489 in ap_update_vhost_from_headers (r=0x81fd03c) at
vhost.c:978
0N/A #2 0x806fa92 in ap_read_request (conn=0x81450fc) at
protocol.c:946
0N/A #3 0x805a168 in ap_process_http_connection (c=0x81450fc) at
http_core.c:274
0N/A #6 0x805fbba in child_main (child_num_arg=65) at
prefork.c:807
0N/A #7 0x805fd20 in make_child (s=0x80c64fc, slot=65) at
prefork.c:880
0N/A #8 0x805ffec in perform_idle_server_maintenance () at
prefork.c:1021
0N/A #9 0x80603d1 in ap_mpm_run (_pconf=0x80c600c, plog=0x80f300c, s=0x80c64fc) at
prefork.c:1191
0N/A #10 0x80660cd in main (argc=1, argv=0xbfbffdac) at
main.c:425
0N/A #11 0x8059bf9 in _start ()
0N/A The input data (received in one read from TCP layer):
0N/A Accept-Language: en-us
0N/A Accept-Encoding: gzip, deflate
0N/A If-Modified-Since: Sat, 02 Dec 1995 21:26:28 GMT
0N/A If-None-Match: "29e60e-17c3-66972900"
0N/A User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows 98; Win 9x 4.90)
0N/A Connection: Keep-Alive
0N/A * core dump from 20010418
0N/A #2 0x8065299 in ap_log_assert (szExp=0x80aaa60 "total_bytes_left > 0 && tmplen > 0", szFile=0x80aa2aa "
core.c", nLine=2555)
0N/A #3 0x8075227 in sendfile_it_all (c=0x81470fc, fd=0x814759c, hdtr=0xbfbff670, file_offset=1929216, file_bytes_left=261949,
0N/A total_bytes_left=261949, flags=0) at
core.c:2555
0N/A #4 0x80761e2 in core_output_filter (f=0x814737c, b=0x814764c) at
core.c:3172
0N/A #5 0x806d227 in ap_pass_brigade (next=0x814737c, bb=0x81e80fc) at
util_filter.c:240
0N/A #8 0x805a1a9 in ap_process_http_connection (c=0x81470fc) at
http_core.c:280
0N/A #12 0x805fd20 in make_child (s=0x80c64fc, slot=272) at
prefork.c:880
0N/A #13 0x805ffec in perform_idle_server_maintenance () at
prefork.c:1021
4632N/A #14 0x80603d1 in ap_mpm_run (_pconf=0x80c600c, plog=0x80f300c, s=0x80c64fc) at
prefork.c:1191
0N/A #15 0x80660cd in main (argc=1, argv=0xbfbffadc) at
main.c:425
0N/A #16 0x8059bf9 in _start ()
0N/A The input data (received in one read from TCP layer):
0N/A Via: 1.0 MDRPRXY01, 1.0 NS2
0N/A Connection: Keep-Alive
0N/A User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 4.0)
0N/A Accept-Language: en-us,tscii;q=0.5
0N/A Accept-Encoding: gzip, deflate
0N/A The confusion was because apr_sendfile() returned APR_SUCCESS
0N/A but zero bytes sent. Presumably the FreeBSD kernel sendfile()
0N/A did the same thing (not 100% sure).
0N/ARELEASE SHOWSTOPPERS:
0N/A * threaded + cgid: "apachectl graceful" followed by "apachectl
0N/A restart" results in all processes but cgid going away; parent
0N/A died referencing other-child registration structures
0N/A 1) disable APR_HAS_OTHER_CHILD support
0N/A 2) teach APR to clean up other-child registrations when the
0N/A associated pool goes away (see
0N/A <200104262241.SAA04468@adsl-77-241-65.rdu.bellsouth.net> for
0N/A * There is a bug in how we sort some hooks, at least the pre-config
0N/A hook. The first time we call the hooks, they are in the correct
0N/A order, but the second time, we don't sort them correctly. Currently,
0N/A back when this is fixed. rbb
0N/A Status: patch brought forward from 1.3.14
0N/A WIN32 and OS2 need review [William Rowe, Brian Harvard]
0N/A * Win32: Get Apache working on Windows 95/98. The following work
0N/A (at least) needs to be done:
0N/A - winnt MPM: Fix 95/98 code paths in the winnt MPM. There is some NT
0N/A specific code that is still not in NT only code paths
0N/A - IOL binds to APR sendfile, implemented with TransmitFile, which
0N/A is not available on 95/98.
0N/A - Document warning that OSR2 is required (for Crypt functions, in
0N/A * Win32: Test access logging with multiple threads. Will the
0N/A native file I/O calls serialize automagically like the
0N/A CRT calls or do we need to add region locking each time
0N/A * Win32: Complete the revamp the service environment and relocation
0N/A into the WinNT MPM. Changes ServerRoot service registry
0N/A parameter into ConfigArgs for multiple service startup parameters.
0N/A signals are not being acknowledged. Close window and shutdown
0N/A also seem out of sorts.
0N/A OtherBill is working on this and will finish over the weekend.
0N/A * We need a thread-safe resolver, at least on Unix.
0N/A Status: The best known candidate would be something from
0N/A Status: Greg asks, "why? doesn't gethostbyname_r() handle this?"
0N/A * The AddInputFilter and AddOutputFilter directives do not allow the
0N/A administrator to remove or reorder filters. Once a filter is added
0N/A in a container, it is present in any subcontainers. It can only be
0N/A added to the filter chain after any filters specified in enclosing
0N/A * remove the --disable-shared from the subdir config of APR(UTIL)
0N/A before the final release. (in fact, it might even be nice to
0N/A Note: we need to do a "make install" for APR(UTIL) so the shared
0N/A libraries can be installed properly. We could also use that
0N/A point to install include files (rather than have Apache
0N/A know everything that needs to be installed from the
0N/A sub-packages). The original impetus for doing the
0N/A disable-shared was because the shared lib wasn't getting
0N/A installed and a "make clean" in aprutil would make Apache
0N/A * users who want to install third-party modules into the Apache
0N/A source tree (for static linking) need to have autoconf and
0N/A libtool installed. This is because the module needs to have its
0N/A config.m4 incorporated into ./configure, which means "buildconf"
0N/A Note: This is in part because we have removed the "extra" directory.
0N/A In the Apache-2.0 repository, this directory had a
config.m4 0N/A file that allowed people to add external modules by
0N/A specifying --with-module on the configure line.
0N/A * ap_vrprintf() needs to handle more than 4K
0N/A Status: Greg volunteers
0N/A * mod_dir should normally redirect ALL directory requests which do
0N/A not include a trailing slash on the URI. However, if a "notes"
0N/A flag is set (say, via BrowserMatch), this behavior will be
0N/A disabled for non-GET requests.
0N/A Status: Greg volunteers
0N/A MsgId: <20010227104646.E2297@lyra.org>
0N/A MsgId: <3A9C0097.9C83F07C@Golux.Com>
0N/A * Usability: Sanitize the MPM config directives. MaxClients in
0N/A the threaded MPM is totally misleading now as it has little to
0N/A do with limiting the number of clients (it limits the number
0N/A of child processes). Bill proposed nomenclature change to
0N/A something like "StartWorkers, MaxWorkers, etc." that could
0N/A apply to most all the MPMs (with some notable exceptions).
0N/A Bill would be happy with changing MaxClients to MaxServers
0N/A to make it agree with the operation of the StartServers
0N/A * A design problem with the scoreboard can cause the threaded
0N/A MPM to get in a state where it will no longer serve requests.
0N/A When MaxRequestsPerChild is hit, a threaded process will begin
0N/A allowing it's idle worker threads to exit. The child process
0N/A may have one (or a few) threads serving really long responses
0N/A over slow client connections, which will prevent the child
0N/A process from exiting. The problem is that the
0N/A perform_idle_server_maintenance code will NOT start a new
0N/A process to replace the dying child process until the dying child
0N/A has exited because the new child needs to use the old childs
0N/A space in the scoreboard. The scoreboard and
0N/A perform_idle_server_maintenance need to be redesigned.
0N/A Status: Several proposals discussed on new-httpd (April 16, 2001)
0N/ARELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:
0N/A * Performance: Get SINGLE_LISTENER_UNSERIALIZED_ACCEPT
0N/A optimization working again. Bill would like to see this
0N/A working for the threaded MPM, then prefork.
0N/A * mod_tls is very specific to OpenSSL. Make the API calls
0N/A more generic to support other encryption libraries.
0N/A * Performance & Debug: Eliminate most (and perhaps all) of the
0N/A light weight memory management functions that allow freeing
0N/A memory (putting it back into a memory pool) when it is no
0N/A longer needed. Enabling simple debugging features like guard
0N/A bands, double free detection, etc. would be cool but certainly
0N/A not a hard requirement.
0N/A * Eliminate unnecessary creation of pipes in mod_cgid
0N/A * the autoconf setup should be fixed to default to using the
0N/A in a layout should be overridable on the command line. Plus,
0N/A what we do right now just doesn't seem to fully fit into how autoconf
0N/A works, eg. AC_PREFIX_DEFAULT issues.
0N/A Message-ID: <Pine.BSF.4.20.0104031557420.20876-100000@alive.znep.com>
0N/A will allow us to error out if a threaded MPM is chosen on a
0N/A platform that doesn't support threads.
0N/A * Document mod_file_cache.
0N/A * OS/2: Make mod_status work for spmt_os2 MPM.
0N/A * Win32: Win9x console window still won't play nice with the
0N/A close window, logoff and shutdown scenarios.
0N/A Status: OtherBill will move the patch forward from 1.3.15, once we
0N/A get our other Win9x issues solved.
0N/A * Win32: Add a simple hold console open patch (wait for close or
0N/A the ESC key, with a nice message) if the server died a bad
0N/A death (non-zero exit code) in console mode.
0N/A Status: OtherBill is bringing forward same ugly hack from 1.3.13
0N/A * Platforms that do not support fork (primarily Win32 and AS/400)
0N/A Architect start-up code that avoids initializing all the modules
0N/A in the parent process on platforms that do not support fork.
0N/A would eliminate some code in the Win32 branch that essentially
0N/A duplicates what is in APR.
0N/A * There are still a number of places in the code where we are
0N/A losing error status (
i.e. throwing away the error returned by a
0N/A system call and replacing it with a generic error code)
0N/A * Win32: Implement reliable piped logs on Windows
0N/A * Mass vhosting version of suEXEC.
0N/A the dbmmanage employs the first-matched dbm format. This is not
0N/A necessarily the library that Apache was built with. Aught to
0N/A rewrite dbmmanage upon installation to bin/ with the proper library
0N/A * use apu_dbm in mod_auth_dbm
0N/A Status: Greg +1 (low-priority volunteer)
0N/A * Integrate mod_dav.
0N/A Some additional items remaining:
0N/A - case_preserved_filename stuff
0N/A (use the new canonical name stuff?)
0N/A - find a new home for ap_text(_header)
0N/A - is it possible to remove the DAV: namespace stuff from util_xml?
0N/A * ap_core_translate() and its use by mod_mmap_static and mod_file_cache
0N/A are a bit wonky. The function should probably be exposed as a utility
0N/A function (such as ap_translate_url2fs() or ap_validate_fs_url() or
0N/A something). Another approach would be a new hook phase after
0N/A "translate" which would allow the module to munge what the
0N/A translation has decided to do.
0N/A Status: Greg +1 (volunteers), Ryan +1
0N/A calls ap_fixup_virutal_hosts(), ap_fini_vhost_config(), and
0N/A ap_sort_hooks() [to reduce the logic in main()]
0N/A * read the config tree just once, and process N times (as necessary)
0N/A * (possibly) use UUIDs in mod_unique_id
and/or mod_usertrack
0N/A * (possibly) port the bug fix for PR 6942 (segv when LoadModule is put
0N/A into a VirtualHost container) to 2.0.
0N/A * APR-ize resolver stuff in mod_unique_id (Jeff volunteers)
0N/A * callers of ap_run_create_request() should check the return value
0N/A for failure (Doug volunteers)
0N/APRs that have been suspended forever waiting for someone to
0N/Aput them into 'the next release':
0N/A missing call to "setlocale();"
0N/A * PR#78: mod_include
0N/A Additional status for XBitHack directive
0N/A Questionable performace of mod_dir() with negotiation
0N/A Mod_proxy doesn't allow change of error pages
0N/A Modified PATH environemnt variable is not passed, instead
0N/A Proxy doesn't deliver documents if not connected
0N/A proxy converts ~name to %7Ename when name starts with a dot (.)
0N/A * PR#537: mod_access
0N/A mod_access syntax allows hosts that should be restricted
0N/A * PR#557: mod_auth-any
0N/A ~UserHome directories are not honored in absolute pathname
0N/A requests (.htaccess)
0N/A * PR#573: mod_log-any
0N/A More LogFormat directives
0N/A Proxy FTP Authentication Fails
0N/A * PR#623: mod_include
0N/A A smarter "Last Modified" value for SSI documents (see PR number 600)
0N/A Request of "Options SymLinksIfGroupMatch"
0N/A * PR#697: mod_include
0N/A A security tweak I've been using for a few years for SSI
Proxy doesn't do links right for OpenVMS files through ftp:
imap should read <MAP><AREA>*</MAP> too!
RLimitCPU and RLimitMEM don't apply to all children like they should
Uses cwd before filling it in, doesn't use syslog
it is useful to allow specifiction that root-owned symlinks
should always be followed
Controlling Access to Remote Proxies would be nice...
Adding authentication "on the fly" through the proxy module
request_config field in request_rec is moderately bogus
DoS attacks involving memory consumption
Logging of virtual server to error_log as well
ProxyRemote make a dead cycle.
suexec does not parse arguments to #exec cmd
Allow for Last-Modified: without resorting to XBitHack
insufficent AllowOverrides granularity for autoindexing
improvements to child spawning API
``nph-'' not honored (no buffering) for ProxyRemote mapping
Apache cannot handle continuation line in headers
setlogin() is not called, causing problems with
e.g. identd
regerror() exists, use it
there is no way to keep per-connection per-module state
Add frame-safe anchor attribute to mod_autoindex links
CGI scripts running as Apache user: security (suexec etc.)
add allow,
deny/deny,allow warning to mod_access
Need to know "hit-rate" on proxy cache
Selective url-encode of log fields (or maybe a pseudo
I make mod_headers to modify request headers as well as
No HTTP_X_FORWARDED_FOR set...
ProxyRemote proxy requests fail authentication by firewall
ReadmeName and HeaderName don't allow for server-parsed html.
mod_rewrite forms REQUEST_URI different than mod_cgi does
mod_headers should allow mod_log_config-style formats in
mod_proxy to support persistent conns?
patches to mod_include to allow for file tests
Suggestion for improving authentication modules and core source
code, problem with 401 and ErrorDocument
More Control over autoindex layout
listing of proxy cache content
Allow modules to set user:group for execution.
adding auth_why to conn_rec
pipelined connections are not logged correctly
mod_rewrite doesn't pass Proxy Throughput on internal subrequests
HTTP Server Rebuild Line Needs Changing for the better
mod_status always displays 256 possible connection slots
Make online documentation search link back to my installation
Can not POST to ErrorDocument - Apache/1.3b6
Status module averages are for entire uptime
suexec for general access of user content?
Proposal for TimeZone directive
/server-info doesn't check for the virtual host to list the info
problem specifying ndbm library for build ?with autoconfigure
A small addition to
rotatelogs.c to improve program functionality.
AllowOverride FileInfo is too coarse
TimeOut applies to output of CGI scripts
<IfDenied> directive wanted
CGI's for general use still have to be run as another user
Cache file names in Proxy module
mailto tags and bundling bug report script
Support for System Resource Controller
When will Apache support P3P? Any Plans?
Propose that Apache recommend $UNIQUE_ID for all "session id"
suggestion: power up your Include directive :)
cannot limit some HTTP methods
No module specific data hook for per-connection data
Configuration file in Japanese
* PR#3191: mod_negotiation
no way to set global quality-of-source (qs) coneg values
* PR#3430: mod_negotiation
Enhancement: MultiViews, Multi-Language Documents
Accessing URL through proxy server corrupts data.
Please add an Apache icon to the systray instead of a DOS window
Some anonymous FTP URLs ask for authentication
BORDER=0 makes Icons look nicer (FancyIndexing)
New ErrorDocumentMatch directive
Alternative for win95 users
Need to be able to override shebang line to make CGI scripts
"Files" and "FilesMatch" regexp does not recognize bang as
Please allow CGI env variables (QUERY_STRING, ...) to be logged
Suggestion for better handling of Last-modified headers
mod_cgi prevents handling of OPTIONS requests
mod_autoindex does not generate Last-Modified response headers
The output of CGI scripts appears in the window that apache
[PATCH] install as service with domain account
AllowOverride should have a 'CheckNone' and 'AllowNone' argument
MIME types for MNG and JNG files need adding to
mime.types and
Status: Waiting for IANA types to be defined
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
* 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.
needed. Apache 1.3 just never stashed "multipart" into
r->content_type. We should probably follow suit since the
byterange stuff doesn't want the rest of the code to see the
multipart content-type; the other code should still think it is
dealing with the <orig_ct> stuff.
Status: Greg volunteers to investigate (esp. since he was most
likely the one to break it :-)
Other features that need writing:
* Finish infrastructure in core for async MPMs
* 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
* New directives in the various MPMs and appropriate links from
obsolete directives in
core.html to the MPM documentation.
Status: Ben Laurie has written some hooks documentation
* Changes since 1.3.9 can be more easily seen in the commitlog file
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.
* Jon Travis's <jtravis@covalent.net> patch to deal with thread-safe
issues with inet_ntoa. See message <20001201163220.A12827@covalent.net>
Status: This is being set aside until the IPv6 work is finished
so that we know exactly what is required.
* Martin Sojka <msojka@gmx.de>'s patch to add error reporting for failed
htpasswd actions due to a full /tmp volume (other programs may have
* Mike Abbott's <mja@trudge.engr.sgi.com> patches to improve
Status: These were written for 1.3, and are awaiting a port to
* Jim Winstead's <jimw@trainedmonkey.com> patch to add CookieDomain and
other small mod_usertrack features
* Dan Rench's <drench@xnet.com> patch to add allow the errmsg and timefmt
of SSI's to be modified in the config file. Patch is available in
* What do we do about mod_proxy?
* Which MPMs will be included with Apache 2.0?