2 Changes with Apache 2.5.0
4 *) core: merge AllowEncodedSlashes from the base configuration into
5 virtual hosts. [Eric Covener]
7 *) mod_headers: Add 'setifempty' command to Header and RequestHeader.
10 *) AIX: Install DSO's with "cp" instead of "install" in instdso.sh
13 *) mod_ldap: Retry transient LDAP connection errors when they occur
14 during the authorization stage.
17 *) mod_ldap: Don't keep retrying if a new LDAP connection times out.
20 *) mod_deflate: permit compilation of mod_deflate against a zlib that has
21 been configured with -D Z_PREFIX, which redefines the token "deflate".
24 *) mod_socache_shmcb.c: Remove arbitrary restriction on shared memory size
25 previously limited to 64MB. [Jens Låås <jelaas gmail.com>]
27 *) mod_cache_socache: Make sure the CacheSocacheMaxSize directive is merged
28 correctly. [Jens Låås <jelaas gmail.com>]
30 *) mod_auth_digest: Use the secret when generating nonces in all cases and
31 not only when AuthName is used in .htaccess files (this change may cause
32 problems if used with round robin load balancers). Don't regenerate the
33 secret on graceful restarts. PR 54637 [Stefan Fritsch]
35 *) mod_cache_socache: Use the name of the socache implementation when performing
36 a lookup rather than using the raw arguments. [Martin Ksellmann
37 <martin@ksellmann.de>]
39 *) rotatelogs: add -n number-of-files option to roate through a number
40 of fixed-name logfiles. [Eric Covener]
42 *) mod_lua: If a LuaMapHandler doesn't return any value, log a warning
43 and treat it as apache2.OK. [Eric Covener]
45 *) ab: Add a new -l parameter in order not to check the length of the responses.
46 This can be usefull with dynamic pages.
47 PR9945, PR27888, PR42040 [<ccikrs1 cranbrook edu>]
49 *) mod_ssl: Fix possible truncation of OCSP responses when reading from the
52 *) mod_session_dbd: Make sure that dirty flag is respected when saving
53 sessions, and ensure the session ID is changed each time the session
54 changes. [Takashi Sato <takashi tks.st>, Graham Leggett]
56 *) mod_dav: Sending a MERGE request against a URI handled by mod_dav_svn with
57 the source href (sent as part of the request body as XML) pointing to a
58 URI that is not configured for DAV will trigger a segfault. [Ben Reser
61 *) mod_logio: new format-specifier %C (combined) which is the sum of received
63 PR54015 [Christophe Jaillet]
65 *) core: Remove apr_brigade_flatten(), buffering and duplicated code
66 from the HTTP_IN filter, parse chunks in a single pass with zero copy.
67 Reduce memory usage by 48 bytes per request. [Graham Leggett]
69 *) mod_deflate: Remove assumptions as to when an EOS bucket might arrive.
70 Gracefully step aside if the body size is zero. [Graham Leggett]
72 *) 'AuthGroupFile' and 'AuthUserFile' do not accept anymore the optional
73 'standard' keyword . It was unused and not documented.
74 PR54463 [Tianyin Xu <tixu cs.ucsd.edu> and Christophe Jaillet]
76 *) mod_proxy_http: Make the proxy-interim-response environment variable
77 effective by formally overriding origin server behaviour. [Graham
78 Leggett, Co-Advisor <coad measurement-factory.com>]
80 *) core: Stop the HTTP_IN filter from attempting to write error buckets
81 to the output filters, which is bogus in the proxy case. Create a
82 clean mapping from APR codes to HTTP status codes, and use it where
83 needed. [Graham Leggett]
85 *) mod_proxy: Ensure we don't attempt to amend a table we are iterating
86 through, ensuring that all headers listed by Connection are removed.
87 [Graham Leggett, Co-Advisor <coad measurement-factory.com>]
89 *) core: apachectl -S prints wildcard name-based virtual hosts twice.
90 PR54948 [Eric Covener]
92 *) mod_proxy: Reject invalid values for Max-Forwards. [Graham Leggett,
93 Co-Advisor <coad measurement-factory.com>]
95 *) mod_cache: If a 304 response indicates an entity not currently cached, then
96 the cache MUST disregard the response and repeat the request without the
97 conditional. [Graham Leggett, Co-Advisor <coad measurement-factory.com>]
99 *) mod_proxy: Fix seg-faults when using the global pool on threaded
100 MPMs [Thomas Eckert <thomas.r.w.eckert gmail.com>, Jim Jagielski]
102 *) mod_proxy: Ensure network errors detected by the proxy are returned as
103 504 Gateway Timout as opposed to 502 Bad Gateway, in order to be
104 compliant with RFC2616 14.9.4 Cache Revalidation and Reload Controls.
105 [Graham Leggett, Co-Advisor <coad measurement-factory.com>]
107 *) mod_cache: Ensure that we don't attempt to replace a cached response
108 with an older response as per RFC2616 13.12. [Graham Leggett, Co-Advisor
109 <coad measurement-factory.com>]
111 *) core, mod_cache: Ensure RFC2616 compliance in ap_meets_conditions()
112 with weak validation combined with If-Range and Range headers. Break
113 out explicit conditional header checks to be useable elsewhere in the
114 server. Ensure weak validation RFC compliance in the byteranges filter.
115 Ensure RFC validation compliance when serving cached entities. PR 16142
116 [Graham Leggett, Co-Advisor <coad measurement-factory.com>]
118 *) core: Add the ability to do explicit matching on weak and strong ETags
119 as per RFC2616 Section 13.3.3. [Graham Leggett, Co-Advisor
120 <coad measurement-factory.com>]
122 *) mod_cache: Ensure that updated responses to HEAD requests don't get
123 mistakenly paired with a previously cached body. Ensure that any existing
124 body is removed when a HEAD request is cached. [Graham Leggett,
125 Co-Advisor <coad measurement-factory.com>]
127 *) mod_cache: Honour Cache-Control: no-store in a request. [Graham Leggett]
129 *) mod_cache: RFC2616 14.9.3 The s-maxage directive also implies the
130 semantics of the proxy-revalidate directive. [Graham Leggett]
132 *) mod_cache: Make sure that contradictory entity headers present in a 304
133 Not Modified response are caught and cause the entity to be removed.
136 *) mod_cache: Make sure Vary processing handles multivalued Vary headers and
137 multivalued headers referred to via Vary. [Graham Leggett]
139 *) mod_cache: When serving from cache, only the last header of a multivalued
140 header was taken into account. Fixed. [Graham Leggett]
142 *) mod_cache: Ignore response headers specified by no-cache=header and
143 private=header as specified by RFC2616 14.9.1 What is Cacheable. Ensure
144 that these headers are still processed when multiple Cache-Control
145 headers are present in the response. PR 54706 [Graham Leggett,
146 Yann Ylavic <ylavic.dev gmail.com>]
148 *) mod_cache: Invalidate cached entities in response to RFC2616 Section
149 13.10 Invalidation After Updates or Deletions. PR 15868 [Graham
152 *) mod_dav: mod_dav overrides dav_fs response on PUT failure. PR 35981
153 [Basant Kumar Kukreja <basant.kukreja sun.com>, Alejandro Alvarez
154 <alejandro.alvarez.ayllon cern.ch>]
156 *) mod_dav: Do not segfault on PROPFIND with a zero length DBM.
157 PR 52559 [Diego Santa Cruz <diego.santaCruz spinetix.com>]
159 *) mod_dav: Do not fail PROPPATCH when prop namespace is not known.
160 PR 52559 [Diego Santa Cruz <diego.santaCruz spinetix.com>]
162 *) mod_dav: When a PROPPATCH attempts to remove a non-existent dead
163 property on a resource for which there is no dead property in the same
164 namespace httpd segfaults. PR 52559 [Diego Santa Cruz
165 <diego.santaCruz spinetix.com>]
167 *) mod_dav: Ensure URI is correctly uriencoded on return. PR 54611
168 [Timothy Wood <tjw omnigroup.com>]
170 *) mod_dav: Sending a If or If-Match header with an invalid ETag doesn't
171 result in a 412 Precondition Failed. PR 54610 [Timothy Wood
174 *) mod_dav: Make sure that when we prepare an If URL for Etag comparison,
175 we compare unencoded paths. PR 53910 [Timothy Wood <tjw omnigroup.com>]
177 *) core, mod_ssl: Lift the restriction that prevents mod_ssl taking
178 full advantage of the event MPM. Enable the ability for a module
179 to reverse the sense of a poll event from a read to a write or vice
180 versa. [Graham Leggett]
182 *) htpasswd: Add -v option to verify a password. [Stefan Fritsch]
184 *) htpasswd, htdbm: Fix password generation. PR 54735. [Stefan Fritsch]
186 *) mod_dav: Improve error handling in dav_method_put(), add new
187 dav_join_error() function. PR 54145. [Ben Reser <ben reser.org>]
189 *) mod_auth_digest: Fix crashes if shm initialization failed. [Stefan
192 *) mod_ldap: LDAP connections used for authentication were not respecting
193 LDAPConnectionPoolTimeout. PR 54587
195 *) core: ap_rgetline_core now pulls from r->proto_input_filters.
197 *) mod_proxy_html: process parsed comments immediately.
198 Fixes bug where parsed comments may be lost. [Nick Kew]
200 *) mod_proxy_html: introduce doctype for HTML 5 [Nick Kew]
202 *) mod_proxy_html: fix typo-bug processing "strict" vs "transitional"
203 HTML/XHTML [Nick Kew]
205 *) core: Add option to add valgrind support. Use it to reduce false positive
206 warnings in mod_ssl. [Stefan Fritsch]
208 *) mod_lua: Add bindings for apr_dbd/mod_dbd database access
211 *) mod_authn_file, mod_authn_dbd, mod_authn_dbm, mod_authn_socache:
212 Cache the result of the most recent password hash verification for every
213 keep-alive connection. This saves some expensive calculations.
216 *) http: Remove support for Request-Range header sent by Navigator 2-3 and
217 MSIE 3. [Stefan Fritsch]
219 *) core, http: Extend HttpProtocol with an option to enforce stricter HTTP
220 conformance or to only log the found problems. [Stefan Fritsch]
222 *) core: Correctly parse an IPv6 literal host specification in an absolute
223 URL in the request line. [Stefan Fritsch]
225 *) mod_ssl: add support for subjectAltName-based host name checking
226 in proxy mode. PR 54030. [Kaspar Brand]
228 *) mpm_event: Check that AsyncRequestWorkerFactor is not negative. PR 54254.
229 [Jackie Zhang <jackie qq zhang gmail com>]
231 *) mod_ssl: Add support for OpenSSL configuration commands [Stephen Henson]
235 *) core: Add LogLevelOverride directive that allows to override the
236 loglevel for clients from certain IPs. This also works for things
237 like the SSL handshake where <If> LogLevel ... </If> is evaluated
238 too late. [Stefan Fritsch]
240 *) core: Add new directive Warning to issue warnings from a configuration
241 file. Both Warning and Error now generate a timestamped log message.
244 *) ap_expr: Add SERVER_PROTOCOL_VERSION, ..._MAJOR, and ..._MINOR
245 variables. [Stefan Fritsch]
247 *) core: New directive RegisterHttpMethod for registering non-standard
248 HTTP methods. [Stefan Fritsch]
250 *) core: New directive HttpProtocol which allows to disable HTTP/0.9
251 support. [Stefan Fritsch]
253 *) mod_allowhandlers: New module to forbid specific handlers for specific
254 directories. [Stefan Fritsch]
256 *) configure: Fix processing of --disable-FEATURE for various features.
259 *) mod_systemd: New module, for integration with systemd on Linux.
260 [Jan Kaluza <jkaluza redhat.com>]
262 *) mod_cache_socache: New cache implementation backed by mod_socache
263 that replaces mod_mem_cache removed from httpd v2.2. [Graham
266 *) core: Add dirwalk_stat and pre_htaccess hooks, allowing mpm-itk
267 to be used without patches to httpd core. [Jeff Trawick]
269 *) mod_lua: Add LuaInputFilter/LuaOutputFilter for creating content
270 filters in Lua [Daniel Gruno]
272 *) WinNT MPM: Store pid and generation for each thread in scoreboard
273 to allow tracking of threads from exiting children via mod_status
274 or other such mechanisms. [Jeff Trawick]
276 *) mod_ssl: Catch missing or mismatched client cert/key pairs with
277 SSLProxyMachineCertificateFile/Path directives. PR 52212.
278 [Keith Burdis <keith burdis.org>, Joe Orton]
280 *) mod_lua: Allow scripts handled by the lua-script handler to return
281 a status code to the client (such as a 302 or a 500) [Daniel Gruno]
283 *) mod_lua: Decline handling 'lua-script' if the file doesn't exist,
284 rather than throwing an internal server error. [Daniel Gruno]
286 *) mod_lua: Add functions r:flush and r:sendfile as well as additional
287 request information to the request_rec structure. [Daniel Gruno]
289 *) mod_lua: Add a server scope for Lua states, which creates a pool of
290 states with managable minimum and maximum size. [Daniel Gruno]
292 *) core: Add post_perdir_config hook.
293 [Steinar Gunderson <sgunderson bigfoot.com>]
295 *) mod_lua: Add new directive, LuaMapHandler, for dynamically mapping
296 URIs to Lua scripts and functions using regular expressions.
299 *) mod_lua: Add new directive LuaCodeCache for controlling in-memory
300 caching of lua scripts. [Daniel Gruno]
302 *) The following now respect DefaultRuntimeDir/DEFAULT_REL_RUNTIMEDIR:
303 - APIs: ap_log_pid(), ap_remove_pid, ap_read_pid()
304 - core: the scoreboard (ScoreBoardFile), pid file (PidFile), and
306 - mod_cache: thundering herd lock directory
307 - mod_lbmethod_heartbeat, mod_heartmonitor: heartbeat storage file
308 - mod_ldap: shared memory cache
309 - mod_socache_shmcb, mod_socache_dbm: shared memory or dbm for cache
312 *) suexec: Add --enable-suexec-capabilites support on Linux, to use
313 setuid/setgid capability bits rather than a setuid root binary.
316 *) suexec: Add support for logging to syslog as an alternative to logging
317 to a file; configure --without-suexec-logfile --with-suexec-syslog.
320 *) mod_ssl: Add support for TLS Next Protocol Negotiation. PR 52210.
321 [Matthew Steele <mdsteele google.com>]
323 *) cross-compile: allow to provide CC_FOR_BUILD so that gen_test_char will
324 be compiled by the build compiler instead of the host compiler.
325 Also set CC_FOR_BUILD to 'cc' when cross-compilation is detected.
326 PR 51257. [Guenter Knauf]
328 *) core: In maintainer mode, replace apr_palloc with a version that
329 initializes the allocated memory with non-zero values, except if
330 AP_DEBUG_NO_ALLOC_POISON is defined. [Stefan Fritsch]
332 *) mod_policy: Add a new testing module to help server administrators
333 enforce a configurable level of protocol compliance on their
334 servers and application servers behind theirs. [Graham Leggett]
336 *) mod_firehose: Add a new debugging module able to record traffic
337 passing through the server in such a way that connections and/or
338 requests be reconstructed and replayed. [Graham Leggett]
348 [Apache 2.5.0-dev includes those bug fixes and changes with the
349 Apache 2.4.xx tree as documented below, except as noted.]
351 Changes with Apache 2.4.x and later:
353 *) http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/CHANGES?view=markup
355 Changes with Apache 2.2.x and later:
357 *) http://svn.apache.org/viewvc/httpd/httpd/branches/2.2.x/CHANGES?view=markup
359 Changes with Apache 2.0.x and later:
361 *) http://svn.apache.org/viewvc/httpd/httpd/branches/2.0.x/CHANGES?view=markup