Skip to content
CHANGES 651 KiB
Newer Older
  [Remove entries to the current 2.0 and 2.2 section below, when backported]
  *) mod_proxy_ajp: Do not spool the entire response from AJP backend before
     sending it up the filter chain. PR37100.  [Ruediger Pluem]

  *) core: AddOutputFilterByType is ignored for proxied requests. PR31226.
     [Joe Orton, Ruediger Pluem]

  *) Preserve the Content-Length header for a proxied HEAD request.
     PR 18757 [Greg Ames]
  *) mod_cache: Create new filters CACHE_OUT_SUBREQ / CACHE_SAVE_SUBREQ which
     only differ by the type from CACHE_OUT / CACHE_SAVE to ensure that
     subrequests to non local resources work again. [Ruediger Pluem]

Nick Kew's avatar
Nick Kew committed
  *) New module: mod_authn_dbd [Nick Kew]

  *) mod_cgid: Refuse to work on Solaris 10 due to OS bugs.  PR 34264.
     [Justin Erenkrantz]

Jeff Trawick's avatar
Jeff Trawick committed
  *) Teach mod_ssl to use arbitrary OIDs in an SSLRequire directive,
     allowing string-valued client certificate attributes to be used for
     access control, as in: SSLRequire "value" in OID("1.3.6.1.4.1.18060.1")
     [Martin Kraemer, David Reid]

  *) mod_proxy_http: Prevent data corruption of POST request bodies when
     client accesses proxied resources with SSL. PR37145.
     [Ruediger Pluem, William Rowe]

  *) mod_proxy_balancer: BalancerManager and proxies correctly handle
     member workers with paths. PR36816. [Ruediger Pluem, Jim Jagielski]

  *) mod_log_config: %{hextid}P will log the thread id in hex with APR
     versions 1.2.0 or higher.  [Jeff Trawick]

  *) httpd.exe/apachectl -V: display the DYNAMIC_MODULE_LIMIT setting, as
     in 1.3.  [Jeff Trawick]

Nick Kew's avatar
Nick Kew committed
  *) Support dbd connections tied to the conn_rec [Nick Kew]

  *) Move mod_dbd to /modules/database/ [Nick Kew]

  *) Move mod_filter and mod_charset_lite to /modules/filters/ [Nick Kew]

  *) Fix mod_dbd's config [Brian J. France <list firehawksystems.com>]

  *) mod_proxy_ajp: mod_proxy_ajp sends empty SSL attributes for non SSL
     connections. PR36883.
     [William Barker <william.barker wilshire.com>, Ruediger Pluem]

William A. Rowe Jr's avatar
 
William A. Rowe Jr committed
  *) Elimiated the NET_TIME filter, restructuring the timeout logic.
     This provides a working mod_echo on all platforms, and ensures any
     custom protocol module is at least given an initial timeout value
     based on the <VirtualHost > context's Timeout directive.
     [William Rowe]

  *) mod_proxy: Run the request_status hook also if there are no free workers
     or all workers are in error state.
     [Ruediger Pluem, Brian Akins <brian.akins turner.com>]

  *) mod_proxy_balancer: mod_proxy_balancer does not handle sticky sessions
     with tomcat correctly. PR36507. [Ruediger Pluem]

  *) mod_proxy_connect: Fix high CPU loop on systems like UnixWare which
     trigger POLL_ERR or POLL_HUP on a terminated connection.  PR 36951.
     [Jeff Trawick, Ruediger Pluem]

  *) SECURITY: CVE-2005-2970 (cve.mitre.org)
Jeff Trawick's avatar
Jeff Trawick committed
     worker MPM: Fix a memory leak which can occur after an aborted
     connection in some limited circumstances.  [Greg Ames]
Jeff Trawick's avatar
Jeff Trawick committed

  *) Doxygen fixup [Neale Ranns <neale ranns.org>, Ian Holsman]

  *) mod_cache/mod_dir: Correct a subrequest lookup bug which was preventing
     mod_dir from serving indexes correctly with mod_cache enabled. 
     [Colm MacCarthaigh]

Colm MacCarthaigh's avatar
 
Colm MacCarthaigh committed
Changes with Apache 2.1.8

Joe Orton's avatar
Joe Orton committed
  *) Fix lingering close implementation to match 1.3.x behaviour.
     PR 35292.  [Joe Orton]

  *) mod_ssl: Support limited buffering of request bodies to allow 
     per-location renegotiation to proceed.  PR 12355.  [Joe Orton]
Joe Orton's avatar
Joe Orton committed
  *) Fix regression since 2.0.x in AllowOverride Options handling. 
     PR 35330.  [kabe <kabe sra-tohoku.co.jp>]

  *) mod_ssl: Fix memory leak in ssl_util_algotypeof().
     PR 25659.  [David Blake <dblake hp com>, Martin Kraemer]
Colm MacCarthaigh's avatar
 
Colm MacCarthaigh committed
  *) prefork, worker and event MPMs: Support a graceful-stop procedure:
     Server will wait until existing requests are finished or until  
     "GracefulShutdownTimeout" number of seconds before exiting. 
     [Colm MacCarthaigh, Ken Coar, Bill Stoddard]

Colm MacCarthaigh's avatar
 
Colm MacCarthaigh committed
  *) prefork, worker and event MPMs: Prevent children from holding open 
     listening ports upon graceful restart or stop. PR 28167. 
     [Colm MacCarthaigh, Brian Pinkerton <bp thinkpink.com>]

  *) SECURITY: CVE-2005-2700 (cve.mitre.org)
Joe Orton's avatar
Joe Orton committed
     mod_ssl: Fix a security issue where "SSLVerifyClient" was not
     enforced in per-location context if "SSLVerifyClient optional"
     was configured in the vhost configuration.  [Joe Orton]

  *) mod_ssl: Catch parse errors from misconfigured or malformed
     CRLs.  PR 36438.  [Joe Orton]

  *) mod_proxy/mod_proxy_balancer: lbmethods now implemented as
     providers. Prevent problems when no Vhost containers were
     configured with proxy balancers. [Jim Jagielski]

  *) New provider function to list all available provider names in a
     specific group and version (ap_list_provider_names). [Jim Jagielski]

Colm MacCarthaigh's avatar
 
Colm MacCarthaigh committed
  *) mod_cache: Enhance CacheEnable/CacheDisable to control caching on a
     per-protocol, per-host and per-path basis. Intended for proxy
     configurations. [Colm MacCarthaigh]

Colm MacCarthaigh's avatar
 
Colm MacCarthaigh committed
  *) mod_disk_cache: Canonicalise the storage key, for improved hit/miss
     ratio. [Colm MacCarthaigh]

Colm MacCarthaigh's avatar
 
Colm MacCarthaigh committed
  *) mod_cgid: Append .PID to the script socket filename and remove the
     script socket on exit. [Colm MacCarthaigh, Jim Jagielski]

Colm MacCarthaigh's avatar
 
Colm MacCarthaigh committed
  *) mod_cgid: run the get_suexec_identity hook within the request-handler 
     instead of within cgid. PR 36410. [Colm MacCarthaigh]

Colm MacCarthaigh's avatar
 
Colm MacCarthaigh committed
  *) Linux 2.0: remove support for threaded MPM's due to linuxthreads use
     of SIGUSR1 clashing with graceful restart signal. [Colm MacCarthaigh]

Changes with Apache 2.1.7
Colm MacCarthaigh's avatar
 
Colm MacCarthaigh committed

  *) SECURITY: CVE-2005-2491 (cve.mitre.org): 
     Fix integer overflows in PCRE in quantifier parsing which could
     be triggered by a local user through use of a carefully-crafted 
     regex in an .htaccess file.  [Philip Hazel]

  *) mod_proxy/mod_proxy_balancer: Provide a simple, functional
     interface to add additional balancer lb selection methods
     without requiring code changes to mod_proxy/mod_proxy_balancer;
     these can be implemented via sub-modules now. [Jim Jagielski]

  *) mod_cache: Fix incorrectly served 304 responses when expired cache
     entity is valid, but cache is unwritable and headers cannot be
     updated.  [Colm MacCarthaigh <colm stdlib.net>]

  *) mod_cache: Remove entities from the cache when re-validation
     receives a 404 or other content-no-longer-present error.
     [Rüdiger Plüm ruediger.pluem vodafone.com]

  *) mod_disk_cache: Properly remove files from cache when needed.
     [Rüdiger Plüm ruediger.pluem vodafone.com]

  *) mod_disk_cache: Support htcacheclean removing directories.
     [Andreas Steinmetz]

  *) htcacheclean: Add -t option to remove empty directories.
     [Colm MacCarthaigh <colm stdlib.net>]

  *) Remove the base href tag from mod_proxy_ftp, as it breaks relative
     links for clients not using an Authorization header. [Graham Leggett,
     Jon Snow <jsnow27 gatesec.net>]

  *) mod_cache: Restore the HTTP status of cached responses.
     [Hansjoerg Pehofer <hansjoerg.pehofer uibk.ac.at>]

  *) mod_cache: Store varied contents all in the same prefix for a varied URI.
     [Paul Querna]

  *) mod_cache: Run the CACHE_SAVE and CACHE_OUT Filters after other content
     filters. [Paul Querna]

  *) mod_negotiation: Correctly report 404 instead of 403 for missing files.
     [Paul Querna]

Paul Querna's avatar
Paul Querna committed
  *) new hook (request_status) that gets ran in proxy_handler just before 
     the final return.  This gives modules an opportunity to do something 
     based on the proxy status. (minor MMN bump)
     [Brian Akins <bakins turner.com>, Ian Holsman]
  *) Add additional SSLSessionCache option, 'nonenotnull', which is
     similar to 'none' (disabling any external shared cache) but forces
     OpenSSL to provide a non-null session ID.  [Jim Jagielski]
  *) Add httxt2dbm to support/ for creating RewriteMap DBM Files.
     [Paul Querna]

William A. Rowe Jr's avatar
 
William A. Rowe Jr committed
  *) Add SSL_COMPRESS_METHOD variable (included in +StdEnvVars) to note
     the negotiated compression.  [Georg v. Zezschwitz <gvz 2scale.de>]

  *) Fixed complaints about unpackaged files within the RPM build
     after changes to the config files. [Graham Leggett]

  *) Fix shutdown for the Worker MPM when an Accept Filter is used. Instead of 
     just closing the socket, a HTTP request is made, to make sure the child is 
     always awakened. [Paul Querna]

Paul Querna's avatar
Paul Querna committed
Changes with Apache 2.1.6

  *) Fix htdbm password validation for records which included comments.
     [Eric Covener <covener gmail.com>]

  *) mod_cgid: Fix buffer overflow processing ScriptSock directive.
     [Steve Kemp <steve steve.org.uk>]

Paul Querna's avatar
Paul Querna committed
Changes with Apache 2.1.5

  *) mod_ssl: Setting the Protocol to 'https' can replace the use of the 
     'SSLEngine on' command. [Paul Querna]

  *) core: Refactor the mapping of Accept Filters to Sockets. Add the 
     AcceptFilter and Protocol directives to aid in mapping filter types.
     Extend the Listen directive to optionally take a protocol name.
     [Paul Querna]

  *) mod_disk_cache: Support storing multiple variations of one URL. PR 35211.
     [Paul Querna]

  *) mod_disk_cache: Atomically create the header data file. [Paul Querna]

  *) mod_cache: Fix 'Vary: *' behavior to be RFC compliant. PR 16125. 
     [Paul Querna]

  *) mod_cache: Rename 'generate_name' to 'ap_cache_generate_name'. 
     [Paul Querna]

  *) mod_mime_magic: Handle CRLF-format magic files so that it works with
     the default installation on Windows.  [Jeff Trawick]

  *) core: Allow multiple modules to register interest in a single 
     configuration command. [Paul Querna]

  *) authn_provider_alias: Adds the configuration block tag
     <AuthnProviderAlias baseProvider Alias>
     Authentication directives contained within this block can be
     referenced as a new authProvider using the AuthBasicProvider or
     AuthDigestProvider directive.  These directives will be merged in to
     the per_dir configuration just before the base provider is called.
     [Brad Nicholes]

  *) ap_getword_conf: Fix backslashes at the end of configuration directives. 
     PR 34834. [Timo Viipuri <viipuri dlc.fi>]

Nick Kew's avatar
Nick Kew committed
  *) mod_dbd: New additions: mod_dbd.c, mod_dbd.h, mod_dbd.xml
     Provide module hooks for apr_dbd; optimise for httpd
     threaded and non-threaded arch [Nick Kew]

  *) ab: SSL support rewritten, improved, and enabled if SSL is enabled
     during the build; -f and -Z arguments added to specify SSL protocol
     options.  [Masaoki Kobayashi <masaoki techfirm.co.jp>]

  *) mod_info: Show the Quick Handler [Paul Querna]
  *) mod_ldap: Add the directive LDAPVerifyServerCert to specify 
     whether to force verification of the server certificate when
     establishing an SSL connection to the LDAP server. 
     [Brad Nicholes]
     
  *) mod_proxy: Run mod_rewrite before mod_proxy in the translate_name
  *) Add AP_INIT_TAKE_ARGV for configuration commands. (minor MMN bump) 
     [Paul Querna]

  *) ap_get_local_host() rewritten for APR. [Jim Jagielski]

  *) Add the ap_vhost_iterate_given_conn function to expose the information
     used in Name Based Virtual Hosting. (minor MMN bump)
     [Paul Querna]

  *) Remove the never working ap_method_list_do and ap_method_list_vdo.
     [Paul Querna]

  *) Added makefile and doc for building mod_ssl on the NetWare 
     platform. [Guenter Knauf, Brad Nicholes]
  
  *) mod_deflate: Merge the Vary header, isntead of Setting it. Fixes
     applications that send the Vary Header themselves, and also apply 
     mod_deflate as an output filter. [Paul Querna]
Joe Orton's avatar
Joe Orton committed

  *) Change the default (when not present in the config file) setting
     for UseCanonicalName to Off.
     [Joshua Slive]

  *) mod_userdir: The module no longer does any remapping unless the
     UserDir directive is present in the config file.
     [Joshua Slive]

  *) Massively simplify the distributed httpd.conf by removing
     many features and many directives that are at their default
     setting.  Add a selection of example config excerpts for adding
     extra features in the conf/extra/ directory.  Install the
     distributed config and the extra config examples in the
     conf/original/ directory during make install.
     [Joshua Slive, Justin Erenkrantz]

  *) NetWare: Reposition mod_asis, mod_actions, mod_cgi, mod_imagemap,
     mod_userdir and mod_autoindex as shared modules rather than 
     built-in modules within the NetWare build.
     [Brad Nicholes]

  *) Rename mod_imap to mod_imagemap.
     [Paul Querna]

  *) util_ldap: Eliminate the load ordering of mod_ldap and mod_authnz_ldap
     by changing the mod_ldap exported functions to optional functions.
     [Brad Nicholes]

Changes with Apache 2.1.4

  *) Don't let a subrequest inherit headers describing the original request's
     body.  [Greg Ames]

  *) Fix Windows CompContext buff size miscalculation
     [Allan Edwards]

  *) Add ReceiveBufferSize directive to control the TCP receive buffer.
     [Eric Covener <covener gmail.com>]

  *) mod_proxy: Add proxy-sendextracrlf option to send an extra CRLF at the
     end of the request body to work with really old HTTP servers.
     [Justin Erenkrantz]

  *) util_ldap: Keep track of the number of attributes retrieved from 
     LDAP so that all the values can be properly cached even if the 
     value is NULL. PR 33901 [Brad Nicholes]
  *) mod_cache: Fix error where incoming Cache-Control would be ignored.
     [Justin Erenkrantz]

  *) mod_cache: Correctly handle originally conditional requests.
     [Sander Striker]

  *) mod_disk_cache: Correctly update cached headers on revalidated responses.
     [Sander Striker, Justin Erenkrantz]

  *) worker MPM/mod_status: Support per-worker tracking of pid and
     generation in the scoreboard so that mod_status can accurately
     represent workers in processes which are gracefully terminating.
     (major MMN bump)
     [Jeff Trawick]

  *) Correctly export all mod_dav public functions.
Justin Erenkrantz's avatar
Justin Erenkrantz committed
Changes with Apache 2.1.3

  *) mod_ssl: Add ssl_ext_lookup optional function for accessing
     certificate extensions.   [David Reid, Joe Orton]

Joe Orton's avatar
Joe Orton committed
  *) Add support for use of an external PCRE library; pass the
     --with-pcre flag to configure.  PR 27550.  [Joe Orton,
     Andres Salomon <dilinger voxel.net>]

  *) Renamed regex interfaces to be namespace-safe, and moved from
     pcreposix.h header to ap_regex.h: regex_t->ap_regex_t,
     regmatch_t->ap_regmatch_t; REG_*->AP_REG_*; functions
     reg*->ap_reg*.  PR 27550.  [Andres Salomon <dilinger voxel.net>,
     Joe Orton]

  *) Only recompile buildmark.c when we have to relink httpd.
     [Justin Erenkrantz]

  *) mod_cache: Fix up handling of revalidated responses.
  *) mod_disk_cache: Properly load cached ETag from on-disk structures.
     [Justin Erenkrantz]

  *) mod_authnz_ldap: Added an optional second parameter to AuthLDAPURL
     to allow it to override the connection type set in mod_ldap. This
     parameter can be set to NONE, SSL or TLS | STARTTLS.
     [Brad Nicholes]

  *) Fix --with-apr=/usr and/or --with-apr-util=/usr.  PR 29740.
     [Max Bowsher <maxb ukf.net>]

  *) mod_proxy: Fix ProxyRemoteMatch directive.  PR 33170.
     [Rici Lake <rici ricilake.net>]

William A. Rowe Jr's avatar
 
William A. Rowe Jr committed
  *) mod_proxy: Fix ap_proxy_canonenc API.
     PR 32459. [Jim Jagielski]
  *) mod_cache: Add CacheStorePrivate and CacheStoreNoStore directive.
     [Justin Erenkrantz]

  *) Add --enable-pie flag to configure, to build httpd as a Position
     Independent Executable where supported (GCC/binutils).
     [Joe Orton]

  *) proxy_balancer: Add in load-balancing via weighted traffic
     byte count. [Jim Jagielski]

  *) mod_disk_cache: Cache r->err_headers_out headers.  This allows CGI
     scripts to be properly cached.  [Justin Erenkrantz, Sander Striker]

  *) mod_ldap: Updated to use the new apr-util v1.1 apr_ldap_*_option()
     API for the setting of server and client SSL certificates. Replaced
     LDAPTrustedCA directive with LDAPTrustedGlobalCert and
     LDAPTrustedClientCert directives to correctly support global certs
     (CA certs / Netware client certs) and per connection client certs
     as supported by Netware, OpenLDAP and Netscape/Mozilla.
     [Graham Leggett]

  *) mod_cache: Remove unimplemented CacheForceCompletion directive.
     [Justin Erenkrantz]

  *) support/check_forensic: Fix temp file usage
     [Javier Fernandez-Sanguino Pen~a <jfs computer.org>]

  *) mod_ssl: Add SSLCADNRequestFile and SSLCADNRequestPath directives
     which can be used to configure a specific list of CA names to send
     in a client certificate request.  PR 32848. 
     [Tim Taylor <tim.taylor dfas.mil>]

  *) --with-module can now take more than one module to be statically
     linked: --with-module=<modtype>:<modfile>,<modtype>:<modfile>,...
     If the <modtype>-subdirectory doesn't exist it will be created and
     populated with a standard Makefile.in.  [Erik Abele]

  *) Remove some compiler warnings within the LDAP modules [Graham Leggett]

  *) Add a build script to create a solaris package. [Graham Leggett]

William A. Rowe Jr's avatar
 
William A. Rowe Jr committed
  *) ap_http_scheme() replaced with ap_http_method() - this function
     returns the scheme (http v.s. https).
     [William Rowe]

  *) mod_proxy: Fix a request corruption problem and a buffering problem
     which sometimes prevented proxy-sendchunks from working.
     [Jeff Trawick]

  *) Fix the RPM spec file so that an RPM build now works. An RPM
     build now requires system installations of APR and APR-util.
     [Graham Leggett]

  *) Significantly simplify the load balancer scheduling algorithm
     for the proxy BalancerMember weighting. loadfactors (lbfactors)
     are now normalized with respect to each other. [Jim Jagielski]

  *) mod_dumpio: Added to the available module suite; it is an
     I/O logging/dumping module. Placed in the (new) debug module
     subdirectory. mod_bucketeer moved to that directory as well.
     [Jim Jagielski]
  *) core: Add support for APR_TCP_DEFER_ACCEPT to defer accepting
     of a connection until data is available.
     [Paul Querna]

Justin Erenkrantz's avatar
Justin Erenkrantz committed
Changes with Apache 2.1.2

  *) mod_proxy: Respect errors reported by pre_connection hooks.
     [Jeff Trawick]

  *) core: Error out on sections that are missing an argument instead of
     silently consuming the section. PR 25460.
     [Geoffrey Young, Paul Querna]

  *) mod_cache/mod_mem_cache/mod_disk_cache: Move out of experimental.

  *) Upgraded PCRE to version 5.0. [Brian Pane]
  *) mod_cgid: Catch configuration problem where two web server instances
     share same ServerRoot but admin forgot to use ScriptSock.
     [Jeff Trawick]

  *) mod_cgi: Ensure that all stderr is logged for a script which returns
     a Location header to generate a non-local redirect.  PR 20111.
     [Joe Orton]

  *) Added the Event MPM to more efficiently handle clients during a 
     Keep Alive request.
     [Paul Querna, Greg Ames]

Justin Erenkrantz's avatar
Justin Erenkrantz committed
Changes with Apache 2.1.1

  *) mod_proxy_http: Stream content better - always flush buffered data to
     the client before blocking waiting for new data.  PR 19954.
     [Joe Orton]

  *) mod_ssl: Add support for command-line option "-t -DDUMP_CERTS" which
     will dump the filenames of all configured SSL certificates to stdout.
     [Joe Orton]

  *) mod_disk_cache: Remove a bunch of non-implemented garbage collection
     and cache size directives that are now available through htcacheclean.
     [Justin Erenkrantz]

  *) Add htcacheclean to support/ for assistance with mod_disk_cache.
     [Andreas Steinmetz]

  *) mod_authnz_ldap: Added the directive "Requires ldap-filter" that
     allows the module to authorize a user based on a complex LDAP
  *) mod_usertrack: Run the fixups hook before other modules.
  *) Allow mod_authnz_ldap authorization functionality to be used 
     without requiring the user to also be authenticated through 
     mod_authnz_ldap. This allows other authentication modules to 
     take advantage of LDAP authorization only [PR 28253]
     [Jari Ahonen jah progress.com, Brad Nicholes]
     
  *) Log the client IP address when an error occurs disabling nagle on a
     connection, but log at a severity of debug since this error 
     generally means that the connection was dropped before data was
     sent.  Log the client IP address when reporting errors in the core
     output filter.  [Jeff Trawick]

  *) core: Add a warning message if the request line read fails.
     [Paul Querna]

  *) mod_rewrite: Removed the MaxRedirects option in favor of the
     core LimitInternalRecursion directive.  [André Malo]
  *) mod_info: Added listing of the Request Hooks and added more build 
     information like 'httpd -V' contains. Changed output to XHTML. 
     [Paul Querna]

  *) mod_info: Rewrote config tree walk using a recursive function.
     Added ?config option. Added printout of config filename and line numbers.
     [Rici Lake <rici ricilake.net>, Paul Querna]

  *) mod_proxy: Fix type error that prevents proxy-sendchunks from working.
     [Justin Erenkrantz]

  *) mod_proxy: Fix data corruption by properly setting aside buckets.
     [Justin Erenkrantz]

  *) mod_proxy: If a request has a blank body and has a 0 Content-Length
     headers, pass that to the proxy.  [Justin Erenkrantz]

Andre Malo's avatar
Andre Malo committed
  *) Recognize QSA flag in mod_rewrite again.
     [Jan Kratochvil <rcpt-dev.AT.httpd.apache.org jankratochvil.net>]

  *) Restructured mod_auth_ldap to fit the new authentication model.
     The module is now called authnz_ldap and has been moved out of
     the modules/experimental area and into modules/aaa with the other
     auth modules.  Both the authn_ldap provider and the authz_ldap
     handler are contained within the authnz_ldap module.  The 
     authz_ldap handler introduces 3 new "requires" values for handling
     authorization.  These handlers are ldap-user, ldap-group and 
     ldap-dn. [Brad Nicholes]

  *) Fix some compiler warnings in proxy
     [Geoffrey Young <geoff@modperlcookbook.org>]

  *) mod_ssl: Add SSL_CLIENT_V_REMAIN variable, representing the
     number of days until the client cert expires.  [Joe Orton]

  *) Add test_config hook, run only if httpd is invoked using -t.
     [Joe Orton]

  *) Improve error handling for corrupted pid files.  [Jeff Trawick]

  *) mod_proxy.c and proxy_util.c: Enable compiling on 2.0-HEAD 
     (for backwards compatibility):
     Avoids mod_ssl.h (not included in 2.0-HEAD) and
     use apr_socket_create_ex for 0.9.x 
     [Mladen Turk]

  *) Added proxy_ajp.c module for proxy support to ajp:// backends.
     [Jean Frederic Clere]

  *) Fixes the build of proxy on Windows. Since the proxy_module is declared
     as extern using AP_MODULE_DECLARE_DATA that expands to dllexport, there
     is a LNK2001 error when building proxy_http. [Mladen Turk]

  *) Remove LDAP toolkit specific code from util_ldap and mod_auth_ldap.
     [Graham Leggett]

  *) Remove deprecated/removed APR_STATUS_IS_SUCCESS().  [Justin Erenkrantz]

  *) perchild MPM: Fix thread safety problem in the use of longjmp().
     [Tsuyoshi SASAMOTO <nazonazo super.win.ne.jp>]

  *) Add load balancer support to the scoreboard in preparation for
     load balancing support in mod_proxy. [Mladen Turk]

  *) mod_nw_ssl: Added the directive NWSSLUpgradeable to mod_nw_ssl to 
     allow a non-secure connection to be upgraded to secure connections
     [Brad Nicholes]
     
  *) core: Add Options= syntax to AllowOverride to specify which options
     may be overridden in .htaccess files. PR 29310.
     [Tom Alsberg <alsbergt cs.huji.ac.il>, Paul Querna]

  *) ab: Handle long URLs with an error instead of an buffer overflow.
     PR 28204. [Erik Weide <erik.weidel mplus-technologies.de>, Paul Querna]

Paul Querna's avatar
Paul Querna committed
  *) mod_so, core: Add new command line options to print all loaded
     modules. '-t -D DUMP_MODULES' and '-M' will show all static 
     and shared modules as loaded from the configuration file.
     [Paul Querna]

  *) mod_autoindex: Add ShowForbidden to IndexOptions to list files
     that are not shown because the subrequest returned 401 or 403. 
     PR 10575.  [Paul Querna]

Nick Kew's avatar
 
Nick Kew committed
  *) mod_headers: implement "Early" processing option in post_read_request
     to enable Header and RequestHeader directives to be used to set up
     testcases for pre-fixups request phases [Nick Kew]

Nick Kew's avatar
 
Nick Kew committed
  *) mod_proxy: multiple bugfixes, principally support cookies in
     ProxyPassReverse, and don't canonicalise URL passed to backend.
     Documentation correspondingly updated. [Nick Kew <nick webthing.com>]

  *) mod_deflate: support gzip flags in inflate_out_filter
     [Nick Kew <nick webthing.com>]

  *) Drop the ErrorHeader directive which turned out to be a misnomer.
     Instead there's a new optional flag for the Header directive
     ('always'), which keeps the former ErrorHeader functionality.
  *) mod_deflate: Don't deflate responses with zero length 
     e.g. proxied 304's [Allan Edwards]

Andre Malo's avatar
Andre Malo committed
  *) <IfModule> now recognizes the module identifier in addition to the
     file name. PR 29003.  [Edward Rudd <eddie omegaware.com>, André Malo]
Andre Malo's avatar
Andre Malo committed

  *) mod_ssl: Add "SSLHonorCipherOrder" directive to enable the
     OpenSSL 0.9.7 flag which uses the server's cipher order rather
     than the client's.  PR 28665.
     [Jim Schneider <jschneid netilla.com>]
  *) mod_ssl: Drop support for the CompatEnvVars argument to
     SSLOptions, which was never actually implemented in 2.0.
     [Joe Orton]

  *) Fix bug in mod_deflate that unconditionally sent deflate'd output
     even when Accept-Encoding is not present.  [Justin Erenkrantz]

  *) Pass environment variables through to piped loggers and start
     them via the shell, resolving regressions since 1.3.  PR 28815
     [Ken Coar, Jeff Trawick]
  *) External rewrite map responses are no longer limited to 2048
Jim Jagielski's avatar
Jim Jagielski committed
  *) Proxy server was deleting cookies that Apache had already
     assigned if the origin server had set any cookies. PR 27023.
     [Jim Jagielski]

  *) Removed old and unmaintained ap_add_named_module API and changed
     the following APIs to return an error instead of hard exiting:
     ap_add_module, ap_add_loaded_module, ap_setup_prelinked_modules,
     and ap_process_resource_config.  [André Malo]
  *) mod_headers: Allow %% in header values to represent a literal %.
  *) mod_headers: Allow env clauses also for 'echo' and 'unset' actions.
  *) mod_headers: Allow 'echo' also for ErrorHeaders.  [André Malo]
Andre Malo's avatar
Andre Malo committed

Ian Holsman's avatar
Ian Holsman committed
  *) mod_deflate: New option for DEFLATE output file (force-gzip),
     new output filter 'INFLATE' for uncompressing responses.
     [Nick Kew <Nick at WebThing dot com>, Ian Holsman]

  *) Added new module mod_version, which provides version dependent
     configuration containers.  [André Malo]
  *) mod_log_config now logs all Set-Cookie headers if the %{Set-Cookie}o
     format is used.  PR 27787.  [André Malo]
  *) Allow Digest providers to return AUTH_DENIED to propagate a 401
     status and terminate the provider chain prior to checking the password.
     [Geoffrey Young]

  *) mod_cgid: Don't allow Scriptsock to be specified inside VirtualHost;
     Don't place script socket inside default server root instead of
     actual server root.  PR 27886.  [Jeff Trawick]

  *) mod_proxy: Fix handling of non-200 success status codes when
     "ProxyErrorOverride On" is configured.  PR 20183.
     [Marcus Janson <marcus.janson tre.se>, Joe Orton]

  *) Threaded MPMs for Unix and Win32: Add support for ThreadStackSize 
     directive (previously NetWare-only) to override default thread 
     stack size for threads which handle client connections.  Required 
     for some third-party modules on platforms with small default 
     thread stack size.  [Jeff Trawick]
  *) minor mod_auth_basic and mod_auth_digest sync.  mod_auth_basic
     now populates r->user with the (possibly unauthenticated) user,
     and mod_auth_digest returns 500 when a provider returns
     AUTH_GENERAL_ERROR.
     [Geoffrey Young]

  *) The whole codebase was relicensed and is now available under
     the Apache License, Version 2.0 (http://www.apache.org/licenses).
     [Apache Software Foundation]

  *) Delete some make-generated files in the server directory during 
     "make clean" processing.  PR 26552.  [Jeff Trawick]

  *) Add core version query function (ap_get_server_revision) and
     accompanying ap_version_t structure (minor MMN bump).
  *) mod_rewrite: EOLs sent by external rewritemaps are now consumed
     as whole. That way, on systems with more than one EOL character
     rewritemap programs no longer need to switch stdout to binary
  *) mod_rewrite: Introduce the ability to force a content handler via
     the [handler=...] flag.  [André Malo]
  *) mod_rewrite: Introduce the RewriteCond -x check, which returns
     true if the pattern is a file with execution permissions.
  *) mod_rewrite: Allow proxying and RewriteRules in directory context
     for subrequests.  PR 14648, 15114.  [André Malo]
  *) mod_rewrite: Allow setting of any valid HTTP response code.
  *) mod_rewrite: Cookie creation now works locale independent.
  *) mod_ssl: Add support for distributed session cache using 'distcache'.
     [Geoff Thorpe <geoff geoffthorpe.net>]

  *) mod_dav: Disallow requests with an unescaped hash character in
Joe Orton's avatar
Joe Orton committed
     the Request-URI.  PR 21779.  [Amit Athavale <amit_athavale lycos.com>]
Andre Malo's avatar
Andre Malo committed
  *) mod_proxy with ProxyErrorOverride On in a reverse-proxy configuration
     attaches a body to the 302 response and a wrong Content-Length header.
     PR: 22951 [Ermanno Scaglione scaglione ..at.. starnetone.de]

  *) Bring ErrorHeader concept forward from 1.3, so that response
     header fields can be set for return even on errors or external
     redirects.  [Ken Coar]

  *) Fix <Limit> and <LimitExcept> parsing to require a closing '>' 
     in the initial container.  PR 25414. 
     [Geoffrey Young <geoff apache.org>]

  *) Clean up httpd -V output: Instead of displaying the MPM source
     directory, display the MPM name and some MPM properties.
     [Geoffrey Young <geoff apache.org>]

  *) mod_ssl/mod_status: Re-enable support for output of SSL session
     cache information in server-status page.  [Joe Orton]

  *) mod_ssl: Remove the shmht session cache, shmcb should be used
     instead.  [Joe Orton]

  *) mod_logio: Account for some bytes handed to the network layer prior to
     dropped connections.  [Jeff Trawick]

  *) mod_autoindex: new directive IndexStyleSheet 
    [Tyler Riddle <triddle_1999 yahoo.com>, Paul Querna <chip force-elite.com>]

  *) Fix uninitialized gprof directory name in prefork MPM.  PR 24450.
William A. Rowe Jr's avatar
 
William A. Rowe Jr committed
     [Chris Knight <Christopher.D.Knight nasa.gov>]
  *) Log an error when requests for URIs which fail to map to a valid 
     filesystem name are rejected with 403.  [Jeff Trawick]

  *) Switch to APR 1.0 API.

  *) Major overhaul of mod_include's filter parser. The new parser code
     is expected to be more robust and should catch all of the edge cases
Andre Malo's avatar
Andre Malo committed
     that were not handled by the previous one. This includes a binary
     incompatible change of mod_include's external API.  [André Malo]
  *) mod_rewrite: Allow forced mimetypes [T=...] to get expanded.
  *) mod_rewrite: Fix LA-U and LA-F lookups in directory context. Previously
     the current rewrite state was just used as lookup path, which lead to
     strange and often useless results. Related to PR 8493.  [André Malo]
  *) Change Listen directive to bind to all addresses when a hostname is
     not specified.  [Justin Erenkrantz]

  *) Correct failure with Listen directives on machines with IPv6 enabled.
     [Colm MacCárthaigh <colm stdlib.net>, Justin Erenkrantz]
Cliff Woolley's avatar
 
Cliff Woolley committed
  *) Fix a link failure in mod_ssl when the OpenSSL libraries contain
     the ENGINE functions but the engine header files are missing.
     [Cliff Woolley]

  *) mod_rewrite: RewriteRules in server context using the force
     type feature [T=...] no longer disable MultiViews.  [André Malo]
  *) mod_rewrite: Allow piped rewrite logs to be relative to ServerRoot.
  *) mod_authz_groupfile: Strip trailing spaces of group names. This
     hopefully saves some hours of searching for typos. PR 12863.
  *) mod_actions: Propagate the handler name to the action script via
     the REDIRECT_HANDLER environment variable.  [André Malo]
  *) mod_actions: Introduce the "virtual" modifier to the Action directive,
     which allows the use of handlers for virtual locations. PR 8431.
  *) mod_speling: Recognize AcceptPathInfo setting for the particular
     location. Default is to reject path information. PR 21059.
  *) mod_ext_filter: Add the ability to filter request bodies.
William A. Rowe Jr's avatar
 
William A. Rowe Jr committed
     [Philipp Reisner <philipp.reisner linbit.com>]
  *) Fix some broken log messages in WinNT MPM.  
William A. Rowe Jr's avatar
 
William A. Rowe Jr committed
     [Juan Rivera <Juan.Rivera citrix.com>]
  *) prefork MPM: Use the right permissions for the directory created 
William A. Rowe Jr's avatar
 
William A. Rowe Jr committed
     for gprof support.  [Jim Carlson <jcarlson jnous.com>]
  *) Fix a compile failure with recent OpenSSL and picky compilers
     (e.g., OpenSSL 0.9.7a and xlc_r on AIX).  [Jeff Trawick]

  *) OpenSSL headers should be included as "openssl/ssl.h", and not rely on
     the INCLUDE path to be defined properly.
William A. Rowe Jr's avatar
 
William A. Rowe Jr committed
     PR 11310. [Geoff Thorpe <geoff geoffthorpe.net>]
  *) Modify APACHE_CHECK_SSL_TOOLKIT to detect SSL-C. [Madhusudan Mathihalli]
  *) Replace the APACHE_CHECK_SSL_TOOLKIT method with a cleaner one, using
     autoconf tools (AC_CHECK_HEADER, AC_CHECK_LIB etc). 
William A. Rowe Jr's avatar
 
William A. Rowe Jr committed
     [Geoff Thorpe <geoff geoffthorpe.net>]
  *) change directive name from 'compressionlevel' to 'deflatecompressionlevel'
  *) mod_negotiation: quality values are now parsed independent from
     the current locale. level values are now really parsed as integers.
  *) Extend mod_negotiation to evaluate the environment variables
     no-gzip and gzip-only-text/html the same way as mod_deflate does.
  *) mod_rewrite: Fix some problems reporting errors with mapping
     programs (RewriteMap prg:/something).  [Jeff Trawick]

  *) Return 413 if chunk-ext-header is too long rather than reading from
     the truncated line.  PR 15857.  [Justin Erenkrantz]

  *) Allow restart of httpd to occur even with syntax errors in the config
     file.  PR 16813.  [Justin Erenkrantz]

  *) Use APR_LAYOUT instead of APACHE_LAYOUT in configure.  PR 15679.
     [Justin Erenkrantz]

  *) Remove files on 'make distclean' that should be.  PR 15592.
     [Justin Erenkrantz]

  *) Allow apachectl to perform status with links and elinks as well.
     [Justin Erenkrantz]

  *) mod_log_config change optional hook to return previous handler
     [Ian Holsman]

  *) Forward port of mod_actions' ability to handle arbitrary methods
     with the Script directive.  [André Malo]
  *) Let suexec send a message to stderr, if it failed or its policy
     was violated. This message appears in the error log and allows
     for easier debugging. PR 5381, 7638, 8255, 10773.  [André Malo]
  *) Modify buildconf to copy all required files into httpd's tree.
William A. Rowe Jr's avatar
 
William A. Rowe Jr committed
     [Thom May <thom planetarytramp.net>]
  *) Allow mod_dav to do weak entity comparison functions.
     [Justin Erenkrantz]

Andre Malo's avatar
Andre Malo committed
  *) Move RFC 1413 ident requests from core to new module mod_ident.
Andre Malo's avatar
Andre Malo committed

Andre Malo's avatar
Andre Malo committed
  *) Add mod_authz_owner - a forward port of "Require file-owner"
     and "Require file-group", which was already present in version
Andre Malo's avatar
Andre Malo committed

  *) Add mod_dav_lock - a generic subset of the DAV locking implementation.
     [Justin Erenkrantz]

  *) Replace some of the mutex locking in the worker MPM with
     atomic operations for higher concurrency.  [Brian Pane]

  *) Allow 'make depend' to work with non-GCC compilers.
     [Justin Erenkrantz]

  *) If an httpd.conf has commented out AddModule directives, 
     apxs -i -a will add an un-commented AddModule directive for 
     the new module, which breaks the config.
     PR: 11212 [Joe Orton]
William A. Rowe Jr's avatar
 
William A. Rowe Jr committed

  *) Fix mod_proxy handling of filtered input bodies.  [Justin Erenkrantz]

  *) Move the check of the Expect request header field after the hook
     for ap_post_read_request, since that is the only opportunity for
     modules to handle Expect extensions.  [Justin Erenkrantz]

William A. Rowe Jr's avatar
 
William A. Rowe Jr committed
  *) Rewrite of aaa modules to an authn/authz model.
     [Dirk-Willem van Gulik, Justin Erenkrantz]

William A. Rowe Jr's avatar
 
William A. Rowe Jr committed

  [Apache 2.1.0-dev includes those bug fixes and changes with the
   Apache 2.0.xx tree as documented, and except as noted, below.]

Changes with Apache 2.0.56

  *) mod_cgi(d): Remove block on OPTIONS method so that scripts can
     respond to OPTIONS directly rather than via server default.
     [Roy Fielding] PR 15242

Jeff Trawick's avatar
Jeff Trawick committed
Changes with Apache 2.0.55
  *) SECURITY: CVE-2005-2088 (cve.mitre.org)
William A. Rowe Jr's avatar
 
William A. Rowe Jr committed
     proxy: Correctly handle the Transfer-Encoding and Content-Length
     headers.  Discard the request Content-Length whenever T-E: chunked
     is used, always passing one of either C-L or T-E: chunked whenever 
     the request includes a request body.  Resolves an entire class of
     proxy HTTP Request Splitting/Spoofing attacks.  [William Rowe]

  *) Added TraceEnable [on|off|extended] per-server directive to alter
     the behavior of the TRACE method.  This addresses a flaw in proxy
     conformance to RFC 2616 - previously the proxy server would accept
     a TRACE request body although the RFC prohibited it.  The default
     remains 'TraceEnable on'.  [William Rowe]

William A. Rowe Jr's avatar
 
William A. Rowe Jr committed
  *) Add ap_log_cerror() for logging messages associated with particular
     client connections.  [Jeff Trawick]

  *) Correct mod_cgid's argv[0] so that the full path can be delved by the
     invoked cgi application, to conform to the behavior of mod_cgi.
     [Pradeep Kumar S <pradeep.smani gmail.com>]

  *) mod_include: Fix possible environment variable corruption when 
     using nested includes.  PR 12655.  [Joe Orton]

  *) Support the suppress-error-charset setting, as with Apache 1.3.x.
     PR 31274.  [Jeff Trawick]

  *) EBCDIC: Handle chunked input from client or, with proxy, origin
     server.  [Jeff Trawick]

  *) Fix bad globbing comparison which could result in getting
     a directory listing when a file was requested. PR 34512.
     [sean <infamous41md hotmail.com>]

  *) Fix core dump if mod_auth_ldap's mod_auth_ldap_auth_checker()
     was called even if mod_auth_ldap_check_user_id() was not
     (or if it didn't succeed) for non-authoritative cases.
     [Jim Jagielski]

  *) SECURITY: CVE-2005-2728 (cve.mitre.org)
William A. Rowe Jr's avatar
 
William A. Rowe Jr committed
     Fix cases where the byterange filter would buffer responses
     into memory.  PR 29962.  [Joe Orton]

  *) mod_proxy: Fix over-eager handling of '%' for reverse proxies.
     PR 15207.  [Jim Jagielski]

  *) mod_ldap: Fix various shared memory cache handling bugs.
     PR 34209.  [Joe Orton]

  *) Fix a file descriptor leak when starting piped loggers.  PR 33748. 
     [Joe Orton]

  *) mod_ldap: Avoid segfaults when opening connections if using a version
     of OpenLDAP older than 2.2.21.  PR 34618.  [Brad Nicholes]

  *) mod_ssl: Fix build with OpenSSL 0.9.8.  PR 35757.  [William Rowe]

  *) SECURITY: CVE-2005-2088 (cve.mitre.org)
William A. Rowe Jr's avatar
 
William A. Rowe Jr committed
     core: If a request contains both Transfer-Encoding and Content-Length
     headers, remove the Content-Length, mitigating some HTTP Request 
     Splitting/Spoofing attacks.  [Paul Querna, Joe Orton]

  *) proxy HTTP: If a response contains both Transfer-Encoding and a 
     Content-Length, remove the Content-Length and don't reuse the
     connection, mitigating some HTTP Response Splitting attacks.
     [Jeff Trawick]

William A. Rowe Jr's avatar
 
William A. Rowe Jr committed
  *) Prevent hangs of child processes when writing to piped loggers at
     the time of graceful restart.  PR 26467.  [Jeff Trawick]

  *) SECURITY: CVE-2005-1268 (cve.mitre.org)
Joe Orton's avatar
Joe Orton committed
     mod_ssl: Fix off-by-one overflow whilst printing CRL information
     at "LogLevel debug" which could be triggered if configured 
     to use a "malicious" CRL.  PR 35081.  [Marc Stern <mstern csc.com>]

  *) mod_userdir: Fix possible memory corruption issue.  PR 34588.
     [David Leonard <dleonard vintela.com>]