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