CHANGES revision 6a80c3c6f4b8ea7ba5e89402b8b779b09ce020e0
f743002678eb67b99bbc29fee116b65d9530fec0wrowe -*- coding: utf-8 -*-
80833bb9a1bf25dcf19e814438a4b311d2e1f4cffuankgChanges with Apache 2.5.0
6736c640e65e06990ef33af71ee81fac4df4ff5fjim
12b5dc9afa1844df5ac8acab98fb538432a2fa1crjung *) core: merge AllowEncodedSlashes from the base configuration into
12b5dc9afa1844df5ac8acab98fb538432a2fa1crjung (non-default) name-based virtual hosts. [Eric Covener]
12b5dc9afa1844df5ac8acab98fb538432a2fa1crjung
12b5dc9afa1844df5ac8acab98fb538432a2fa1crjung *) mod_headers: Add 'setifempty' command to Header and RequestHeader.
a47a604a8bd3897c793e22c119150d085a7d2243humbedooh [Eric Covener]
a47a604a8bd3897c793e22c119150d085a7d2243humbedooh
a47a604a8bd3897c793e22c119150d085a7d2243humbedooh *) AIX: Install DSO's with "cp" instead of "install" in instdso.sh
fe1ef277fc441864dade1856a858b79242f905c1humbedooh [Eric Covener]
a47a604a8bd3897c793e22c119150d085a7d2243humbedooh
74e7a30182af5e68f14ccb8d57918b22b982db8bhumbedooh *) mod_ldap: Retry transient LDAP connection errors when they occur
74e7a30182af5e68f14ccb8d57918b22b982db8bhumbedooh during the authorization stage.
74e7a30182af5e68f14ccb8d57918b22b982db8bhumbedooh [Eric Covener]
10961a2f60207cb873d889bb28b1f0ef707a4311humbedooh
10961a2f60207cb873d889bb28b1f0ef707a4311humbedooh *) mod_ldap: Don't keep retrying if a new LDAP connection times out.
10961a2f60207cb873d889bb28b1f0ef707a4311humbedooh [Eric Covener]
0448378b899e8df0c060360f17c0af692adf17bchumbedooh
0448378b899e8df0c060360f17c0af692adf17bchumbedooh *) mod_deflate: permit compilation of mod_deflate against a zlib that has
0448378b899e8df0c060360f17c0af692adf17bchumbedooh been configured with -D Z_PREFIX, which redefines the token "deflate".
60a765cccbd3f3b5997b65b0034220c79f78369etrawick [Eric Covener]
60a765cccbd3f3b5997b65b0034220c79f78369etrawick
60a765cccbd3f3b5997b65b0034220c79f78369etrawick *) mod_socache_shmcb.c: Remove arbitrary restriction on shared memory size
e7ca863b04ee2a7aea7738cadbf51ce5e6c5245dhumbedooh previously limited to 64MB. [Jens Låås <jelaas gmail.com>]
e7ca863b04ee2a7aea7738cadbf51ce5e6c5245dhumbedooh
e7ca863b04ee2a7aea7738cadbf51ce5e6c5245dhumbedooh *) mod_cache_socache: Make sure the CacheSocacheMaxSize directive is merged
e7ca863b04ee2a7aea7738cadbf51ce5e6c5245dhumbedooh correctly. [Jens Låås <jelaas gmail.com>]
91654e263480f0fdc2a03d782ff23f8dad07cf79humbedooh
91814c869ca39ce45dfe147307d2a831cac6ecbehumbedooh *) mod_auth_digest: Use the secret when generating nonces in all cases and
91654e263480f0fdc2a03d782ff23f8dad07cf79humbedooh not only when AuthName is used in .htaccess files (this change may cause
79c5787b92ac5f0e1cc82393816c77a006399316trawick problems if used with round robin load balancers). Don't regenerate the
79c5787b92ac5f0e1cc82393816c77a006399316trawick secret on graceful restarts. PR 54637 [Stefan Fritsch]
79c5787b92ac5f0e1cc82393816c77a006399316trawick
79c5787b92ac5f0e1cc82393816c77a006399316trawick *) mod_cache_socache: Use the name of the socache implementation when performing
79c5787b92ac5f0e1cc82393816c77a006399316trawick a lookup rather than using the raw arguments. [Martin Ksellmann
79c5787b92ac5f0e1cc82393816c77a006399316trawick <martin@ksellmann.de>]
79c5787b92ac5f0e1cc82393816c77a006399316trawick
79c5787b92ac5f0e1cc82393816c77a006399316trawick *) rotatelogs: add -n number-of-files option to roate through a number
79c5787b92ac5f0e1cc82393816c77a006399316trawick of fixed-name logfiles. [Eric Covener]
12b987b969f03ef98d9175a53d849ab62f5684fecovener
12b987b969f03ef98d9175a53d849ab62f5684fecovener *) mod_lua: If a LuaMapHandler doesn't return any value, log a warning
e20c6ecbd465cd7dabb44acea6afafc7925f3a03sf and treat it as apache2.OK. [Eric Covener]
e20c6ecbd465cd7dabb44acea6afafc7925f3a03sf
7025945569c7fbb49f2e64e0d26f861d22a54675jorton *) ab: Add a new -l parameter in order not to check the length of the responses.
099c357f282d4aebf2b32264f7dce6ffc0497c37sf This can be usefull with dynamic pages.
099c357f282d4aebf2b32264f7dce6ffc0497c37sf PR9945, PR27888, PR42040 [<ccikrs1 cranbrook edu>]
099c357f282d4aebf2b32264f7dce6ffc0497c37sf
099c357f282d4aebf2b32264f7dce6ffc0497c37sf *) mod_ssl: Fix possible truncation of OCSP responses when reading from the
50f8c80eb4d3989ebf3f1341aeef4d2d302af162sf server. [Joe Orton]
50f8c80eb4d3989ebf3f1341aeef4d2d302af162sf
4bb0a88a01fb7b494bb02a8b881b5eab0308bda6sf *) mod_session_dbd: Make sure that dirty flag is respected when saving
50f8c80eb4d3989ebf3f1341aeef4d2d302af162sf sessions, and ensure the session ID is changed each time the session
7b395e4e878c28a4784919cfd2e704ddd14a3390jorton changes. [Takashi Sato <takashi tks.st>, Graham Leggett]
7b395e4e878c28a4784919cfd2e704ddd14a3390jorton
7b395e4e878c28a4784919cfd2e704ddd14a3390jorton *) mod_dav: Sending a MERGE request against a URI handled by mod_dav_svn with
7b395e4e878c28a4784919cfd2e704ddd14a3390jorton the source href (sent as part of the request body as XML) pointing to a
536e48c08d674acac5d44929318f2ad928edc361jorton URI that is not configured for DAV will trigger a segfault. [Ben Reser
536e48c08d674acac5d44929318f2ad928edc361jorton <ben reser.org>]
e81785da447b469da66f218b3f0244aab507958djorton
e81785da447b469da66f218b3f0244aab507958djorton *) mod_logio: new format-specifier %C (combined) which is the sum of received
3e4e54d4e3fc0123c63d57aa84ac7ad7a8c73ff8jorton and sent byte counts.
3e4e54d4e3fc0123c63d57aa84ac7ad7a8c73ff8jorton PR54015 [Christophe Jaillet]
3e4e54d4e3fc0123c63d57aa84ac7ad7a8c73ff8jorton
459eaf0826f995b73a0dc066f59ea10d2824e72dsf *) core: Remove apr_brigade_flatten(), buffering and duplicated code
459eaf0826f995b73a0dc066f59ea10d2824e72dsf from the HTTP_IN filter, parse chunks in a single pass with zero copy.
459eaf0826f995b73a0dc066f59ea10d2824e72dsf Reduce memory usage by 48 bytes per request. [Graham Leggett]
459eaf0826f995b73a0dc066f59ea10d2824e72dsf
53e9b27aba029b18be814df40bcf6f0428771d1efuankg *) mod_deflate: Remove assumptions as to when an EOS bucket might arrive.
53e9b27aba029b18be814df40bcf6f0428771d1efuankg Gracefully step aside if the body size is zero. [Graham Leggett]
53e9b27aba029b18be814df40bcf6f0428771d1efuankg
53e9b27aba029b18be814df40bcf6f0428771d1efuankg *) 'AuthGroupFile' and 'AuthUserFile' do not accept anymore the optional
53e9b27aba029b18be814df40bcf6f0428771d1efuankg 'standard' keyword . It was unused and not documented.
6bb524f1895f30265a1431afc460977d391cb36bsf PR54463 [Tianyin Xu <tixu cs.ucsd.edu> and Christophe Jaillet]
6bb524f1895f30265a1431afc460977d391cb36bsf
ca61ccd0c306c2c72df153688ba1b49f3eceed80sf *) mod_proxy_http: Make the proxy-interim-response environment variable
6bb524f1895f30265a1431afc460977d391cb36bsf effective by formally overriding origin server behaviour. [Graham
b40bfdb714672f972887f9f1f1e154e00125bb68covener Leggett, Co-Advisor <coad measurement-factory.com>]
b40bfdb714672f972887f9f1f1e154e00125bb68covener
b40bfdb714672f972887f9f1f1e154e00125bb68covener *) core: Stop the HTTP_IN filter from attempting to write error buckets
b40bfdb714672f972887f9f1f1e154e00125bb68covener to the output filters, which is bogus in the proxy case. Create a
e6dd71992459d05a676b98b7963423dc5dc1e24aminfrin clean mapping from APR codes to HTTP status codes, and use it where
e6dd71992459d05a676b98b7963423dc5dc1e24aminfrin needed. [Graham Leggett]
e6dd71992459d05a676b98b7963423dc5dc1e24aminfrin
e6dd71992459d05a676b98b7963423dc5dc1e24aminfrin *) mod_proxy: Ensure we don't attempt to amend a table we are iterating
23f1535d6a60817d2846bac0aea230ea475d7dccminfrin through, ensuring that all headers listed by Connection are removed.
23f1535d6a60817d2846bac0aea230ea475d7dccminfrin [Graham Leggett, Co-Advisor <coad measurement-factory.com>]
23f1535d6a60817d2846bac0aea230ea475d7dccminfrin
23f1535d6a60817d2846bac0aea230ea475d7dccminfrin *) core: apachectl -S prints wildcard name-based virtual hosts twice.
ec7520b24cd80d34d82bbcaca153cbb23cc04bc0rjung PR54948 [Eric Covener]
ec7520b24cd80d34d82bbcaca153cbb23cc04bc0rjung
ec7520b24cd80d34d82bbcaca153cbb23cc04bc0rjung *) mod_proxy: Reject invalid values for Max-Forwards. [Graham Leggett,
ec7520b24cd80d34d82bbcaca153cbb23cc04bc0rjung Co-Advisor <coad measurement-factory.com>]
ec7520b24cd80d34d82bbcaca153cbb23cc04bc0rjung
ec7520b24cd80d34d82bbcaca153cbb23cc04bc0rjung *) mod_cache: If a 304 response indicates an entity not currently cached, then
ec7520b24cd80d34d82bbcaca153cbb23cc04bc0rjung the cache MUST disregard the response and repeat the request without the
ec7520b24cd80d34d82bbcaca153cbb23cc04bc0rjung conditional. [Graham Leggett, Co-Advisor <coad measurement-factory.com>]
6249dfa569d3b4f1f539665b979a80c6e335d93etrawick
6249dfa569d3b4f1f539665b979a80c6e335d93etrawick *) mod_proxy: Fix seg-faults when using the global pool on threaded
0827cb14e550f6f65018431c22c2c913631c8f25kbrand MPMs [Thomas Eckert <thomas.r.w.eckert gmail.com>, Jim Jagielski]
6249dfa569d3b4f1f539665b979a80c6e335d93etrawick
ae600ca541efc686b34f8b1f21bd3d0741d37674covener *) mod_proxy: Ensure network errors detected by the proxy are returned as
6249dfa569d3b4f1f539665b979a80c6e335d93etrawick 504 Gateway Timout as opposed to 502 Bad Gateway, in order to be
cfa64348224b66dd1c9979b809406c4d15b1c137fielding compliant with RFC2616 14.9.4 Cache Revalidation and Reload Controls.
74499a117b3b2cd9666715a14f90c0e5d1a4ee8ajim [Graham Leggett, Co-Advisor <coad measurement-factory.com>]
cfa64348224b66dd1c9979b809406c4d15b1c137fielding
74499a117b3b2cd9666715a14f90c0e5d1a4ee8ajim *) mod_cache: Ensure that we don't attempt to replace a cached response
cfa64348224b66dd1c9979b809406c4d15b1c137fielding with an older response as per RFC2616 13.12. [Graham Leggett, Co-Advisor
74499a117b3b2cd9666715a14f90c0e5d1a4ee8ajim <coad measurement-factory.com>]
cfa64348224b66dd1c9979b809406c4d15b1c137fielding
74499a117b3b2cd9666715a14f90c0e5d1a4ee8ajim *) core, mod_cache: Ensure RFC2616 compliance in ap_meets_conditions()
cfa64348224b66dd1c9979b809406c4d15b1c137fielding with weak validation combined with If-Range and Range headers. Break
out explicit conditional header checks to be useable elsewhere in the
server. Ensure weak validation RFC compliance in the byteranges filter.
Ensure RFC validation compliance when serving cached entities. PR 16142
[Graham Leggett, Co-Advisor <coad measurement-factory.com>]
*) core: Add the ability to do explicit matching on weak and strong ETags
as per RFC2616 Section 13.3.3. [Graham Leggett, Co-Advisor
<coad measurement-factory.com>]
*) mod_cache: Ensure that updated responses to HEAD requests don't get
mistakenly paired with a previously cached body. Ensure that any existing
body is removed when a HEAD request is cached. [Graham Leggett,
Co-Advisor <coad measurement-factory.com>]
*) mod_cache: Honour Cache-Control: no-store in a request. [Graham Leggett]
*) mod_cache: RFC2616 14.9.3 The s-maxage directive also implies the
semantics of the proxy-revalidate directive. [Graham Leggett]
*) mod_cache: Make sure that contradictory entity headers present in a 304
Not Modified response are caught and cause the entity to be removed.
[Graham Leggett]
*) mod_cache: Make sure Vary processing handles multivalued Vary headers and
multivalued headers referred to via Vary. [Graham Leggett]
*) mod_cache: When serving from cache, only the last header of a multivalued
header was taken into account. Fixed. [Graham Leggett]
*) mod_cache: Ignore response headers specified by no-cache=header and
private=header as specified by RFC2616 14.9.1 What is Cacheable. Ensure
that these headers are still processed when multiple Cache-Control
headers are present in the response. PR 54706 [Graham Leggett,
Yann Ylavic <ylavic.dev gmail.com>]
*) mod_cache: Invalidate cached entities in response to RFC2616 Section
13.10 Invalidation After Updates or Deletions. PR 15868 [Graham
Leggett]
*) mod_dav: mod_dav overrides dav_fs response on PUT failure. PR 35981
[Basant Kumar Kukreja <basant.kukreja sun.com>, Alejandro Alvarez
<alejandro.alvarez.ayllon cern.ch>]
*) mod_dav: Do not segfault on PROPFIND with a zero length DBM.
PR 52559 [Diego Santa Cruz <diego.santaCruz spinetix.com>]
*) mod_dav: Do not fail PROPPATCH when prop namespace is not known.
PR 52559 [Diego Santa Cruz <diego.santaCruz spinetix.com>]
*) mod_dav: When a PROPPATCH attempts to remove a non-existent dead
property on a resource for which there is no dead property in the same
namespace httpd segfaults. PR 52559 [Diego Santa Cruz
<diego.santaCruz spinetix.com>]
*) mod_dav: Ensure URI is correctly uriencoded on return. PR 54611
[Timothy Wood <tjw omnigroup.com>]
*) mod_dav: Sending a If or If-Match header with an invalid ETag doesn't
result in a 412 Precondition Failed. PR 54610 [Timothy Wood
<tjw omnigroup.com>]
*) mod_dav: Make sure that when we prepare an If URL for Etag comparison,
we compare unencoded paths. PR 53910 [Timothy Wood <tjw omnigroup.com>]
*) core, mod_ssl: Lift the restriction that prevents mod_ssl taking
full advantage of the event MPM. Enable the ability for a module
to reverse the sense of a poll event from a read to a write or vice
versa. [Graham Leggett]
*) htpasswd: Add -v option to verify a password. [Stefan Fritsch]
*) htpasswd, htdbm: Fix password generation. PR 54735. [Stefan Fritsch]
*) mod_dav: Improve error handling in dav_method_put(), add new
dav_join_error() function. PR 54145. [Ben Reser <ben reser.org>]
*) mod_auth_digest: Fix crashes if shm initialization failed. [Stefan
Fritsch]
*) mod_ldap: LDAP connections used for authentication were not respecting
LDAPConnectionPoolTimeout. PR 54587
*) core: ap_rgetline_core now pulls from r->proto_input_filters.
*) mod_proxy_html: process parsed comments immediately.
Fixes bug where parsed comments may be lost. [Nick Kew]
*) mod_proxy_html: introduce doctype for HTML 5 [Nick Kew]
*) mod_proxy_html: fix typo-bug processing "strict" vs "transitional"
HTML/XHTML [Nick Kew]
*) core: Add option to add valgrind support. Use it to reduce false positive
warnings in mod_ssl. [Stefan Fritsch]
*) mod_lua: Add bindings for apr_dbd/mod_dbd database access
[Daniel Gruno]
*) mod_authn_file, mod_authn_dbd, mod_authn_dbm, mod_authn_socache:
Cache the result of the most recent password hash verification for every
keep-alive connection. This saves some expensive calculations.
[Stefan Fritsch]
*) http: Remove support for Request-Range header sent by Navigator 2-3 and
MSIE 3. [Stefan Fritsch]
*) core, http: Extend HttpProtocol with an option to enforce stricter HTTP
conformance or to only log the found problems. [Stefan Fritsch]
*) core: Correctly parse an IPv6 literal host specification in an absolute
URL in the request line. [Stefan Fritsch]
*) mod_ssl: add support for subjectAltName-based host name checking
in proxy mode. PR 54030. [Kaspar Brand]
*) mpm_event: Check that AsyncRequestWorkerFactor is not negative. PR 54254.
[Jackie Zhang <jackie qq zhang gmail com>]
*) mod_ssl: Add support for OpenSSL configuration commands [Stephen Henson]
*) EventOpt MPM
*) core: Add LogLevelOverride directive that allows to override the
loglevel for clients from certain IPs. This also works for things
like the SSL handshake where <If> LogLevel ... </If> is evaluated
too late. [Stefan Fritsch]
*) core: Add new directive Warning to issue warnings from a configuration
file. Both Warning and Error now generate a timestamped log message.
[Fabien Coelho]
*) ap_expr: Add SERVER_PROTOCOL_VERSION, ..._MAJOR, and ..._MINOR
variables. [Stefan Fritsch]
*) core: New directive RegisterHttpMethod for registering non-standard
HTTP methods. [Stefan Fritsch]
*) core: New directive HttpProtocol which allows to disable HTTP/0.9
support. [Stefan Fritsch]
*) mod_allowhandlers: New module to forbid specific handlers for specific
directories. [Stefan Fritsch]
*) configure: Fix processing of --disable-FEATURE for various features.
[Jeff Trawick]
*) mod_systemd: New module, for integration with systemd on Linux.
[Jan Kaluza <jkaluza redhat.com>]
*) mod_cache_socache: New cache implementation backed by mod_socache
that replaces mod_mem_cache removed from httpd v2.2. [Graham
Leggett]
*) core: Add dirwalk_stat and pre_htaccess hooks, allowing mpm-itk
to be used without patches to httpd core. [Jeff Trawick]
*) mod_lua: Add LuaInputFilter/LuaOutputFilter for creating content
filters in Lua [Daniel Gruno]
*) WinNT MPM: Store pid and generation for each thread in scoreboard
to allow tracking of threads from exiting children via mod_status
or other such mechanisms. [Jeff Trawick]
*) mod_ssl: Catch missing or mismatched client cert/key pairs with
SSLProxyMachineCertificateFile/Path directives. PR 52212.
[Keith Burdis <keith burdis.org>, Joe Orton]
*) mod_lua: Allow scripts handled by the lua-script handler to return
a status code to the client (such as a 302 or a 500) [Daniel Gruno]
*) mod_lua: Decline handling 'lua-script' if the file doesn't exist,
rather than throwing an internal server error. [Daniel Gruno]
*) mod_lua: Add functions r:flush and r:sendfile as well as additional
request information to the request_rec structure. [Daniel Gruno]
*) mod_lua: Add a server scope for Lua states, which creates a pool of
states with managable minimum and maximum size. [Daniel Gruno]
*) core: Add post_perdir_config hook.
[Steinar Gunderson <sgunderson bigfoot.com>]
*) mod_lua: Add new directive, LuaMapHandler, for dynamically mapping
URIs to Lua scripts and functions using regular expressions.
[Daniel Gruno]
*) mod_lua: Add new directive LuaCodeCache for controlling in-memory
caching of lua scripts. [Daniel Gruno]
*) The following now respect DefaultRuntimeDir/DEFAULT_REL_RUNTIMEDIR:
- APIs: ap_log_pid(), ap_remove_pid, ap_read_pid()
- core: the scoreboard (ScoreBoardFile), pid file (PidFile), and
mutexes (Mutex)
- mod_cache: thundering herd lock directory
- mod_lbmethod_heartbeat, mod_heartmonitor: heartbeat storage file
- mod_ldap: shared memory cache
- mod_socache_shmcb, mod_socache_dbm: shared memory or dbm for cache
[Jeff Trawick]
*) suexec: Add --enable-suexec-capabilites support on Linux, to use
setuid/setgid capability bits rather than a setuid root binary.
[Joe Orton]
*) suexec: Add support for logging to syslog as an alternative to logging
to a file; configure --without-suexec-logfile --with-suexec-syslog.
[Joe Orton]
*) mod_ssl: Add support for TLS Next Protocol Negotiation. PR 52210.
[Matthew Steele <mdsteele google.com>]
*) cross-compile: allow to provide CC_FOR_BUILD so that gen_test_char will
be compiled by the build compiler instead of the host compiler.
Also set CC_FOR_BUILD to 'cc' when cross-compilation is detected.
PR 51257. [Guenter Knauf]
*) core: In maintainer mode, replace apr_palloc with a version that
initializes the allocated memory with non-zero values, except if
AP_DEBUG_NO_ALLOC_POISON is defined. [Stefan Fritsch]
*) mod_policy: Add a new testing module to help server administrators
enforce a configurable level of protocol compliance on their
servers and application servers behind theirs. [Graham Leggett]
*) mod_firehose: Add a new debugging module able to record traffic
passing through the server in such a way that connections and/or
requests be reconstructed and replayed. [Graham Leggett]
*) mod_noloris
*) APREQ
*) Simple MPM
*) mod_serf
[Apache 2.5.0-dev includes those bug fixes and changes with the
Apache 2.4.xx tree as documented below, except as noted.]
Changes with Apache 2.4.x and later:
*) http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/CHANGES?view=markup
Changes with Apache 2.2.x and later:
*) http://svn.apache.org/viewvc/httpd/httpd/branches/2.2.x/CHANGES?view=markup
Changes with Apache 2.0.x and later:
*) http://svn.apache.org/viewvc/httpd/httpd/branches/2.0.x/CHANGES?view=markup