]> granicus.if.org Git - apache/blob - CHANGES
update transformation
[apache] / CHANGES
1                                                          -*- coding: utf-8 -*-
2 Changes with Apache 2.5.0
3
4   *) mod_http2: fixed bug in input window size calculation by moving chunked
5      request body encoding into later stage of processing.
6      [Stefan Eissing]
7      
8   *) mod_proxy_fdpass: Fix AH01153 error when using the default configuration.
9      In earlier version of httpd, you can explicitelly set the 'flusher' parameter
10      to 'flush' as a workaround. (i.e. flusher=flush)
11      Add documentation for the 'flusher' parameter when defining a proxy worker.
12      [Christophe Jaillet]
13
14   *) mod_ssl: For the "SSLStaplingReturnResponderErrors off" case, make sure
15      to only staple responses with certificate status "good". [Kaspar Brand]
16
17   *) core: Limit to ten the number of tolerated empty lines between request,
18      and consume them before the pipelining check to avoid possible response
19      delay when reading the next request without flushing.  [Yann Ylavic]
20
21   *) mod_session: Introduce SessionExpiryUpdateInterval which allows to
22      configure the session/cookie expiry's update interval. PR 57300.
23      [Paul Spangler <paul.spangler ni.com>]
24
25   *) core: Extend support for asynchronous write completion from the
26      network filter to any connection or request filter. [Graham Leggett]
27
28   *) mpm_event: Free memory earlier when shutting down processes.
29      [Stefan Fritsch]
30
31   *) mod_ssl: Make the output filter more friendly with deferred write and
32      response pipelining. [Yann Ylavic, Joe Orton]
33
34   *) core/util_script: relax alphanumeric filter of environment variable names
35      on Windows to allow '(' and ')' for passing PROGRAMFILES(X86) et.al.
36      unadulterated in 64 bit versions of Windows. PR 46751.  
37      [John <john leineweb de>]
38
39   *) mod_auth_digest: remove AuthDigestEnableQueryStringHack which is no
40      more documented since dec 2012 (r1415960). [Christophe Jaillet]
41
42   *) mod_charset_lite: On EBCDIC platforms, make sure mod_charset_lite runs
43      after other resource-level filters. [Eric Covener]
44
45   *) mod_dir: Responses that go through "FallbackResource" might appear to
46      hang due to unterminated chunked encoding. PR58292. [Eric Covener]
47
48   *) mod_alias: Limit Redirect expressions to directory (Location) context
49      and redirect statuses (implicit or explicit).
50      [Yann Ylavic, Ruediger Pluem]
51
52   *) mod_substitute: Fix configuraton merge order.
53      PR 57641 [<Marc.Stern approach.be>]
54
55   *) mod_ssl: When SSLVerify is disabled (NONE), don't force a renegotiation if
56      the SSLVerifyDepth applied with the default/handshaken vhost differs from
57      the one applicable with the finally selected vhost.  [Yann Ylavic]
58      
59   *) http: Don't remove the Content-Length of zero from a HEAD response if
60      it comes from an origin server, module or script.  [Yann Ylavic]
61
62   *) http: Add support for RFC2324/RFC7168. [Graham Leggett]
63
64   *) mod_rewrite: Add support for starting External Rewriting Programs
65      as non-root user on UNIX systems by specifying username and group name
66      as third argument of RewriteMap directive. [Jan Kaluza]
67
68   *) mod_authn_core: Add expression support to AuthName and AuthType.
69      [Graham Leggett]
70
71   *) suexec: Filter out the HTTP_PROXY environment variable because it is
72      treated as alias for http_proxy by some programs. [Stefan Fritsch]
73
74   *) mod_proxy_http: Don't establish or reuse a backend connection before pre-
75      fetching the request body, so to minimize the delay between it is supposed
76      to be alive and the first bytes sent: this is a best effort to prevent the
77      backend from closing because of idle or keepalive timeout in the meantime.
78      Also, handle a new "proxy-flushall" environment variable which allows to
79      flush any forwarded body data immediately. PR 56541+37920. [Yann Ylavic]
80
81   *) core: Define and UnDefine are no longer permitted in
82      directory context. Previously they would always be evaulated
83      as the configuration was read without regard for the directory
84      context. [Eric Covener]
85
86   *) config: For directives that do not expect any arguments, enforce
87      that none are specified in the configuration file. 
88      [Joachim Zobel <jzobel heute-morgen.de>, Eric Covener]
89
90   *) mod_rewrite: Improve 'bad flag delimeters' startup error by showing
91      how the input was tokenized.  PR 56528. [Edward Lu <Chaosed0 gmail.com>]
92
93   *) mod_proxy: Don't put non balancer-member workers in error state by
94      default for connection or 500/503 errors, and honor status=+I for
95      any error.  PR 48388.  [Yann Ylavic]
96
97   *) mod_socache_memcache: Pass expiration time through to memcached. PR 55445.
98      [Faidon Liambotis <paravoid debian.org>, Joe Orton]
99
100   *) ap_expr: Add filemod function for checking file modification dates
101      [Daniel Gruno]
102      
103   *) mod_authnz_ldap: Resolve crashes with LDAP authz and non-LDAP authn since 
104      r1608202. [Eric Covener]
105  
106   *) core: Ensure that httpd exits with an error status when the MPM fails
107      to run.  [Yann Ylavic]
108
109   *) apreq: Content-Length header should be always interpreted as a decimal.
110      Leading 0 could be erroneously considered as an octal value. PR 56598.
111      [Chris Card <ctcard hotmail com>]
112   
113   *) mod_proxy: Now allow for 191 character worker names, with non-fatal
114      errors if name is truncated. PR53218. [Jim Jagielski]
115
116   *) mod_ssl: Add optional function "ssl_get_tls_cb" to allow support
117      for channel bindings.  [Simo Sorce <simo redhat.com>]
118
119   *) mod_proxy_wstunnel: Concurrent websockets messages could be 
120      lost or delayed with ProxyWebsocketAsync enabled.  
121      [Edward Lu <Chaosed0 gmail.com>]
122
123   *) core, mod_info: Add compiled and loaded PCRE versions to version
124      number display.  [Rainer Jung]
125
126   *) mod_authnz_ldap: Return LDAP connections to the pool before the handler
127      is run, instead of waiting until the end of the request. [Eric Covener]
128
129   *) mod_log_config: Add GlobalLog to allow a globally defined log to
130      be inherited by virtual hosts that define a CustomLog.
131      [Edward Lu <Chaosed0 gmail.com>]
132
133   *) mod_proxy_html: support automatic detection of doctype and processing
134      of FPIs.  PR56285 [Micha Lenk <micha lenk info>, Nick Kew]
135
136   *) mod_proxy_html: skip documents shorter than 4 bytes
137      PR 56286 [Micha Lenk <micha lenk info>]
138
139   *) mod_proxy_fdpass: Fix computation of the size of 'struct sockaddr_un'
140      when passed to 'connect()'.
141      [Graham Dumpleton <grahamd apache org>]
142
143   *) core: Add ap_mpm_resume_suspended() API to allow a suspended connection
144      to resume. PR56333 
145      [Artem <artemciy gmail.com>, Edward Lu <Chaosed0 gmail.com>]
146
147   *) core: Add ap_mpm_register_socket_callback_timeout() API. [Eric Covener]
148
149   *) mod_proxy_wstunnel: Honor ProxyWebsocketIdleTimeout in asynchronous
150      processing mode. [Eric Covener]
151
152   *) mod_authnz_ldap: Fail explicitly when the filter is too long. Remove
153      unnecessary apr_pstrdup() and strlen(). [Graham Leggett]
154
155   *) Add the ldap-search option to mod_authnz_ldap, allowing authorization
156      to be based on arbitrary expressions that do not include the username.
157      [Graham Leggett]
158
159   *) Add the ldap function to the expression API, allowing LDAP filters and
160      distinguished names based on expressions to be escaped correctly to
161      guard against LDAP injection. [Graham Leggett]
162
163   *) Add module mod_ssl_ct, which provides an implementation of Certificate
164      Transparency (RFC 6962) for httpd.  [Jeff Trawick]
165
166   *) mod_remoteip: Prevent an external proxy from presenting an internal
167      proxy. PR 55962. [Mike Rumph]
168
169   *) mod_ssl: Add hooks to allow other modules to perform processing at
170      several stages of initialization and connection handling.  See
171      mod_ssl_openssl.h.  [Jeff Trawick]
172
173   *) mod_proxy_wstunnel: Avoid sending error responses down an upgraded
174      websockets connection as it is being close down. [Eric Covener]
175   
176   *) mod_proxy_wstunnel: Allow the administrator to cap the amount
177      of time a synchronous websockets connection stays idle with 
178      ProxyWebsocketIdleTimeout. [Eric Covener]
179
180   *) mod_proxy_wstunnel: Change to opt-in for asynchronous support, adding 
181      directives ProxyWebsocketAsync and ProxyWebsocketAsyncDelay. 
182      [Eric Covener]
183
184   *) mod_proxy_wstunnel: Stop leaking websockets backend connections under
185      event MPM (trunk-only). [Eric Covener]
186
187   *) mod_proxy_http: Add detach_backend hook (potentially usable
188      in other proxy scheme handlers).  [Jeff Trawick]
189
190   *) mod_deflate: Add DeflateAlterETag to control how the ETag
191      is modified. The 'NoChange' parameter mimics 2.2.x behavior.
192      PR 45023, PR 39727. [Eric Covener]
193
194   *) mod_rewrite: Add 'BNF' (backreferences-no-plus) flag to RewriteRule to 
195      allow spaces in backreferences to be encoded as %20 instead of '+'.
196      [Eric Covener]
197      
198   *) mod_rewrite: Support an optional list of characters to escape in the 
199      argument for the 'B' (escape backreferences) flag. [Eric Covener]
200
201   *) mod_dir: Default to 2.2-like behavior and skip execution when method is
202      neither GET nor POST, such as for DAV requests. PR 54914. [Chris Darroch]
203
204   *) mod_rewrite: Rename the handler that does per-directory internal 
205      redirects to "rewrite-redirect-handler" from "redirect-handler" so
206      it is less ambiguous and less likely to be reused. [Eric Covener]
207
208   *) mod_rewrite: Protect against looping with the [N] flag by enforcing a 
209      default limit of 10000 iterations, and allowing each rule to change its
210      limit. [Eric Covener]
211
212   *) mod_ssl: Fix config merging of SSLOCSPEnable and SSLOCSPOverrideResponder.
213      [Jeff Trawick]
214
215   *) Add HttpContentLengthHeadZero and HttpExpectStrict directives.
216      [Yehuda Sadeh <yehuda inktank com>, Justin Erenkrantz]
217
218   *) mod_ssl: Add -t -DDUMP_CA_CERTS option which dumps the filenames of all
219      configured SSL CA certificates to stdout the same way as DUMP_CERTS does.
220      [Jan Kaluza]
221
222   *) mod_ssl: Don't flush when an EOS is received. Prepares mod_ssl
223      to support write completion. [Graham Leggett]
224
225   *) core: Add parse_errorlog_arg callback to ap_errorlog_provider
226      to allow providers to check the ErrorLog argument. [Jan Kaluza]
227
228   *) mod_cgid: Use the servers Timeout for each read from a CGI script,
229      allow override with new CGIDRequestTimeout directive. PR43494
230      [Eric Covener, Toshikuni Fukaya <toshikuni-fukaya cybozu co jp>]
231
232   *) core: ensure any abnormal exit is reported to stderr if it's a tty.
233      PR 55670 [Nick Kew]
234
235   *) mod_lua: Let the Inter-VM get/set functions work with a global 
236      shared memory pool instead of a per-process pool. [Daniel Gruno]
237
238   *) ldap: Support ldaps when using the Microsoft LDAP SDK.
239      PR 54626. [Jean-Frederic Clere]
240
241   *) mod_authnz_ldap: Change default value of AuthLDAPMaxSubGroupDepth to 0
242      to avoid performance problems when subgroups aren't in use. [Eric Covener]
243
244   *) mod_syslog: New module implementing syslog ap_error_log provider.
245      Previously, this code was part of core, now it's in separate module.
246      [Jan Kaluza]
247
248   *) core: Add ap_errorlog_provider to make ErrorLog logging modular. Move
249      syslog support from core to new mod_syslog. [Jan Kaluza]
250
251   *) mod_status, mod_echo: Fix the display of client addresses.
252      They were truncated to 31 characters which is not enough for IPv6 addresses.
253      PR 54848 [Bernhard Schmidt <berni birkenwald de>]
254
255   *) mod_unique_id: Use output of the PRNG rather than IP address and
256      pid, avoiding sleep() call and possible DNS issues at startup,
257      plus improving randomness for IPv6-only hosts.
258      [Jan Kaluza <jkaluza redhat.com>]
259
260   *) mod_file_cache: mod_file_cache should be able to serve files that
261      haven't had a Content-Type set via e.g. mod_mime. [Eric Covener]
262
263   *) core: merge AllowEncodedSlashes from the base configuration into
264      virtual hosts. [Eric Covener]
265
266   *) AIX: Install DSO's with "cp" instead of "install" in instdso.sh
267      [Eric Covener]
268
269   *) mod_ldap: Don't keep retrying if a new LDAP connection times out.
270      [Eric Covener]
271
272   *) mod_deflate: permit compilation of mod_deflate against a zlib that has
273      been configured with -D Z_PREFIX, which redefines the token "deflate".
274      [Eric Covener]
275
276   *) mod_auth_digest: Use the secret when generating nonces in all cases and
277      not only when AuthName is used in .htaccess files (this change may cause
278      problems if used with round robin load balancers). Don't regenerate the
279      secret on graceful restarts. PR 54637  [Stefan Fritsch]
280
281   *) core: Remove apr_brigade_flatten(), buffering and duplicated code
282      from the HTTP_IN filter, parse chunks in a single pass with zero copy.
283      Reduce memory usage by 48 bytes per request. [Graham Leggett]
284
285   *) core: Stop the HTTP_IN filter from attempting to write error buckets
286      to the output filters, which is bogus in the proxy case. Create a
287      clean mapping from APR codes to HTTP status codes, and use it where
288      needed. [Graham Leggett]
289
290   *) mod_proxy: Ensure network errors detected by the proxy are returned as
291      504 Gateway Timout as opposed to 502 Bad Gateway, in order to be
292      compliant with RFC2616 14.9.4 Cache Revalidation and Reload Controls.
293
294   *) mod_dav: mod_dav overrides dav_fs response on PUT failure. PR 35981
295      [Basant Kumar Kukreja <basant.kukreja sun.com>, Alejandro Alvarez
296      <alejandro.alvarez.ayllon cern.ch>]
297
298   *) mod_ldap: LDAP connections used for authentication were not respecting
299      LDAPConnectionPoolTimeout.  PR 54587
300
301   *) core: ap_rgetline_core now pulls from r->proto_input_filters.
302
303   *) mod_proxy_html: process parsed comments immediately. 
304      Fixes bug where parsed comments may be lost. [Nick Kew]
305
306   *) mod_proxy_html: introduce doctype for HTML 5 [Nick Kew]
307
308   *) mod_proxy_html: fix typo-bug processing "strict" vs "transitional"
309      HTML/XHTML [Nick Kew]
310
311   *) core: Add option to add valgrind support. Use it to reduce false positive
312      warnings in mod_ssl. [Stefan Fritsch]
313
314   *) mod_authn_file, mod_authn_dbd, mod_authn_dbm, mod_authn_socache:
315      Cache the result of the most recent password hash verification for every
316      keep-alive connection. This saves some expensive calculations.
317      [Stefan Fritsch]
318
319   *) http: Remove support for Request-Range header sent by Navigator 2-3 and
320      MSIE 3. [Stefan Fritsch]
321
322   *) core, http: Extend HttpProtocol with an option to enforce stricter HTTP
323      conformance or to only log the found problems. [Stefan Fritsch]
324
325   *) core: Correctly parse an IPv6 literal host specification in an absolute
326      URL in the request line. [Stefan Fritsch]
327
328   *) EventOpt MPM
329
330   *) core: Add LogLevelOverride directive that allows to override the
331      loglevel for clients from certain IPs. This also works for things
332      like the SSL handshake where <If> LogLevel ... </If> is evaluated
333      too late. [Stefan Fritsch]
334
335   *) core: Add new directive Warning to issue warnings from a configuration
336      file. Both Warning and Error now generate a timestamped log message.
337      [Fabien Coelho] 
338
339   *) ap_expr: Add SERVER_PROTOCOL_VERSION, ..._MAJOR, and ..._MINOR
340      variables. [Stefan Fritsch]
341
342   *) core: New directive RegisterHttpMethod for registering non-standard
343      HTTP methods. [Stefan Fritsch]
344
345   *) core: New directive HttpProtocol which allows to disable HTTP/0.9
346      support. [Stefan Fritsch]
347
348   *) mod_allowhandlers: New module to forbid specific handlers for specific
349      directories. [Stefan Fritsch]
350
351   *) mod_systemd: New module, for integration with systemd on Linux.
352      [Jan Kaluza <jkaluza redhat.com>]
353
354   *) WinNT MPM: Store pid and generation for each thread in scoreboard
355      to allow tracking of threads from exiting children via mod_status
356      or other such mechanisms.  [Jeff Trawick]
357
358   *) The following now respect DefaultRuntimeDir/DEFAULT_REL_RUNTIMEDIR:
359      - APIs: ap_log_pid(), ap_remove_pid, ap_read_pid()
360      - mod_cache: thundering herd lock directory
361      - mod_lbmethod_heartbeat, mod_heartmonitor: heartbeat storage file
362      - mod_ldap: shared memory cache
363      - mod_socache_shmcb, mod_socache_dbm: shared memory or dbm for cache
364      [Jeff Trawick]
365
366   *) suexec: Add --enable-suexec-capabilites support on Linux, to use
367      setuid/setgid capability bits rather than a setuid root binary.
368      [Joe Orton]
369
370   *) suexec: Add support for logging to syslog as an alternative to logging
371      to a file; configure --without-suexec-logfile --with-suexec-syslog.  
372      [Joe Orton]
373
374   *) mod_ssl: Add support for TLS Next Protocol Negotiation.  PR 52210.
375      [Matthew Steele <mdsteele google.com>]
376
377   *) cross-compile: allow to provide CC_FOR_BUILD so that gen_test_char will
378      be compiled by the build compiler instead of the host compiler.
379      Also set CC_FOR_BUILD to 'cc' when cross-compilation is detected.
380      PR 51257. [Guenter Knauf]
381
382   *) core: In maintainer mode, replace apr_palloc with a version that
383      initializes the allocated memory with non-zero values, except if
384      AP_DEBUG_NO_ALLOC_POISON is defined. [Stefan Fritsch]
385
386   *) mod_policy: Add a new testing module to help server administrators
387      enforce a configurable level of protocol compliance on their
388      servers and application servers behind theirs. [Graham Leggett]
389
390   *) mod_firehose: Add a new debugging module able to record traffic
391      passing through the server in such a way that connections and/or
392      requests be reconstructed and replayed. [Graham Leggett]
393
394   *) mod_noloris
395
396   *) APREQ
397
398   *) Simple MPM
399
400   *) mod_serf
401
402   [Apache 2.5.0-dev includes those bug fixes and changes with the
403    Apache 2.4.xx tree as documented below, except as noted.]
404
405 Changes with Apache 2.4.x and later:
406
407   *) http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/CHANGES?view=markup
408
409 Changes with Apache 2.2.x and later:
410
411   *) http://svn.apache.org/viewvc/httpd/httpd/branches/2.2.x/CHANGES?view=markup
412
413 Changes with Apache 2.0.x and later:
414
415   *) http://svn.apache.org/viewvc/httpd/httpd/branches/2.0.x/CHANGES?view=markup
416