]> granicus.if.org Git - apache/blob - CHANGES
rebuild docs
[apache] / CHANGES
1                                                          -*- coding: utf-8 -*-
2 Changes with Apache 2.5.0
3
4   *) mod_proxy_fcgi: Fix occasional high CPU when handling request bodies.
5      [Jeff Trawick]
6
7   *) mod_proxy_fcgi: Support iobuffersize parameter.  [Jeff Trawick]
8
9   *) mod_cache: Preserve non-cacheable headers forwarded from an origin 304
10                 response. PR 55547. [Yann Ylavic]
11
12   *) mod_cache: Don't add cached/revalidated entity headers to a 304 response.
13                 PR 55547. [Yann Ylavic]
14
15   *) mod_cache: Retry unconditional request with the full URL (including the
16      query-string) when the origin server's 304 response does not match the
17      conditions used to revalidate the stale entry.  [Yann Ylavic].
18
19   *) mod_authnz_ldap: Fail explicitly when the filter is too long. Remove
20      unnecessary apr_pstrdup() and strlen(). [Graham Leggett]
21
22   *) mod_proxy_fcgi: Don't segfault when failing to connect to the backend.
23      [Jeff Trawick]
24
25   *) Add the ldap-search option to mod_authnz_ldap, allowing authorization
26      to be based on arbitrary expressions that do not include the username.
27      [Graham Leggett]
28
29   *) Add the ldap function to the expression API, allowing LDAP filters and
30      distinguished names based on expressions to be escaped correctly to
31      guard against LDAP injection. [Graham Leggett]
32
33   *) Add module mod_ssl_ct, which provides an implementation of Certificate
34      Transparency (RFC 6962) for httpd.  [Jeff Trawick]
35
36   *) mod_cache: Fix AH00784 errors on Windows when the the CacheLock directive
37      is enabled.  [Eric Covener]
38
39   *) mod_proxy: Preserve original request headers even if they differ
40      from the ones to be forwarded to the backend. PR 45387.
41      [Yann Ylavic]
42
43   *) mod_proxy: When ping/pong is configured for a worker, don't send or
44      forward "100 Continue" (interim) response to the client if it does
45      not expect one. [Yann Ylavic]
46
47   *) mod_remoteip: Prevent an external proxy from presenting an internal
48      proxy. PR 55962. [Mike Rumph]
49
50   *) mod_ssl: Add hooks to allow other modules to perform processing at
51      several stages of initialization and connection handling.  See
52      mod_ssl_openssl.h.  [Jeff Trawick]
53
54   *) mod_proxy_wstunnel: Avoid sending error responses down an upgraded
55      websockets connection as it is being close down. [Eric Covener]
56   
57   *) mod_proxy_wstunnel: Allow the administrator to cap the amount
58      of time a synchronous websockets connection stays idle with 
59      ProxyWebsocketIdleTimeout. [Eric Covener]
60
61   *) mod_proxy_wstunnel: Change to opt-in for asynchronous support, adding 
62      directives ProxyWebsocketAsync and ProxyWebsocketAsyncDelay. 
63      [Eric Covener]
64
65   *) mod_proxy_wstunnel: Stop leaking websockets backend connections under
66      event MPM (trunk-only). [Eric Covener]
67
68   *) mod_proxy_wstunnel: Don't issue AH02447 and log a 500 on routine 
69      hangups from websockets origin servers. PR 56299
70      [Yann Ylavic, Edward Lu <Chaosed0 gmail com>, Eric Covener] 
71
72   *) mod_proxy_wstunnel: Don't pool backend websockets connections,
73      because we need to handshake every time. PR 55890.
74      [Eric Covener]
75
76   *) mod_proxy_http: Add detach_backend hook (potentially usable
77      in other proxy scheme handlers).  [Jeff Trawick]
78
79   *) mod_deflate: Add DeflateAlterETag to control how the ETag
80      is modified. The 'NoChange' parameter mimics 2.2.x behavior.
81      PR 45023, PR 39727. [Eric Covener]
82
83   *) mod_rewrite: Add 'BNF' (backreferences-no-plus) flag to RewriteRule to 
84      allow spaces in backreferences to be encoded as %20 instead of '+'.
85      [Eric Covener]
86      
87   *) mod_expires: don't add Expires header to error responses (4xx/5xx),
88      be they generated or forwarded. PR 55669. [ Yann Ylavic ]
89
90   *) mod_rewrite: Support an optional list of characters to escape in the 
91      argument for the 'B' (escape backreferences) flag. [Eric Covener]
92
93   *) mod_ssl: Add SSLOCSPUseRequestNonce directive to control whether or not
94      OCSP requests should use a nonce to be checked against the responder's
95      one. PR 56233. [ Yann Ylavic ]
96
97   *) mod_dir: Default to 2.2-like behavior and skip execution when method is
98      neither GET nor POST, such as for DAV requests. PR 54914. [Chris Darroch]
99
100   *) mod_rewrite: Rename the handler that does per-directory internal 
101      redirects to "rewrite-redirect-handler" from "redirect-handler" so
102      it is less ambiguous and less likely to be reused. [Eric Covener]
103
104   *) mod_rewrite: Protect against looping with the [N] flag by enforcing a 
105      default limit of 10000 iterations, and allowing each rule to change its
106      limit. [Eric Covener]
107
108   *) mod_ssl: Fix config merging of SSLOCSPEnable and SSLOCSPOverrideResponder.
109      [Jeff Trawick]
110
111   *) Add HttpContentLengthHeadZero and HttpExpectStrict directives.
112      [Yehuda Sadeh <yehuda inktank com>, Justin Erenkrantz]
113
114   *) FreeBSD: Disable IPv4-mapped listening sockets by default for versions
115      5+ instead of just for FreeBSD 5. PR 53824. [Jeff Trawick]
116
117   *) mod_auth_form: Add a debug message when the fields on a form are not
118      recognised. [Graham Leggett]
119
120   *) mod_ssl: Add -t -DDUMP_CA_CERTS option which dumps the filenames of all
121      configured SSL CA certificates to stdout the same way as DUMP_CERTS does.
122      [Jan Kaluza]
123
124   *) mod_ssl: Don't flush when an EOS is received. Prepares mod_ssl
125      to support write completion. [Graham Leggett]
126
127   *) core: Add parse_errorlog_arg callback to ap_errorlog_provider
128      to allow providers to check the ErrorLog argument. [Jan Kaluza]
129
130   *) mod_cgid: Use the servers Timeout for each read from a CGI script,
131      allow override with new CGIDRequestTimeout directive. PR43494
132      [Eric Covener, Toshikuni Fukaya <toshikuni-fukaya cybozu co jp>]
133
134   *) core: Add missing Reason-Phrase in HTTP response headers.
135      PR 54946. [Rainer Jung]
136
137   *) core: ensure any abnormal exit is reported to stderr if it's a tty.
138      PR 55670 [Nick Kew]
139
140   *) mod_lua: Let the Inter-VM get/set functions work with a global 
141      shared memory pool instead of a per-process pool. [Daniel Gruno]
142
143   *) ldap: Support ldaps when using the Microsoft LDAP SDK.
144      PR 54626. [Jean-Frederic Clere]
145
146   *) mod_proxy: Add ap_connection_reusable() for checking if a connection
147      is reusable as of this point in processing.  [Jeff Trawick]
148
149   *) mod_authnz_ldap: Change default value of AuthLDAPMaxSubGroupDepth to 0
150      to avoid performance problems when subgroups aren't in use. [Eric Covener]
151
152   *) mod_syslog: New module implementing syslog ap_error_log provider.
153      Previously, this code was part of core, now it's in separate module.
154      [Jan Kaluza]
155
156   *) core: Add ap_errorlog_provider to make ErrorLog logging modular. Move
157      syslog support from core to new mod_syslog. [Jan Kaluza]
158
159   *) WinNT MPM: If ap_run_pre_connection() fails or sets c->aborted, don't
160      save the socket for reuse by the next worker as if it were an 
161      APR_SO_DISCONNECTED socket. Restores 2.2 behavior. [Eric Covener]
162
163   *) mod_status, mod_echo: Fix the display of client addresses.
164      They were truncated to 31 characters which is not enough for IPv6 addresses.
165      PR 54848 [Bernhard Schmidt <berni birkenwald de>]
166
167   *) core: Add ap_log_data(), ap_log_rdata(), etc. for logging buffers.
168      [Jeff Trawick]
169
170   *) mod_unique_id: Use output of the PRNG rather than IP address and
171      pid, avoiding sleep() call and possible DNS issues at startup,
172      plus improving randomness for IPv6-only hosts.
173      [Jan Kaluza <jkaluza redhat.com>]
174
175   *) mod_authnz_ldap: Support primitive LDAP servers that do not accept
176      filters, such as "SDBM-backed LDAP" on z/OS, by allowing a special
177      filter "none" to be specified in AuthLDAPURL. [Eric Covener]
178
179   *) mod_file_cache: mod_file_cache should be able to serve files that
180      haven't had a Content-Type set via e.g. mod_mime. [Eric Covener]
181
182   *) core: merge AllowEncodedSlashes from the base configuration into
183      virtual hosts. [Eric Covener]
184
185   *) AIX: Install DSO's with "cp" instead of "install" in instdso.sh
186      [Eric Covener]
187
188   *) mod_ldap: Don't keep retrying if a new LDAP connection times out.
189      [Eric Covener]
190
191   *) mod_deflate: permit compilation of mod_deflate against a zlib that has
192      been configured with -D Z_PREFIX, which redefines the token "deflate".
193      [Eric Covener]
194
195   *) mod_socache_shmcb.c: Remove arbitrary restriction on shared memory size
196      previously limited to 64MB. [Jens Låås <jelaas gmail.com>]
197
198   *) mod_auth_digest: Use the secret when generating nonces in all cases and
199      not only when AuthName is used in .htaccess files (this change may cause
200      problems if used with round robin load balancers). Don't regenerate the
201      secret on graceful restarts. PR 54637  [Stefan Fritsch]
202
203   *) core: Remove apr_brigade_flatten(), buffering and duplicated code
204      from the HTTP_IN filter, parse chunks in a single pass with zero copy.
205      Reduce memory usage by 48 bytes per request. [Graham Leggett]
206
207   *) core: Stop the HTTP_IN filter from attempting to write error buckets
208      to the output filters, which is bogus in the proxy case. Create a
209      clean mapping from APR codes to HTTP status codes, and use it where
210      needed. [Graham Leggett]
211
212   *) mod_proxy: Ensure network errors detected by the proxy are returned as
213      504 Gateway Timout as opposed to 502 Bad Gateway, in order to be
214      compliant with RFC2616 14.9.4 Cache Revalidation and Reload Controls.
215
216   *) mod_dav: mod_dav overrides dav_fs response on PUT failure. PR 35981
217      [Basant Kumar Kukreja <basant.kukreja sun.com>, Alejandro Alvarez
218      <alejandro.alvarez.ayllon cern.ch>]
219
220   *) core, mod_ssl: Enable the ability for a module to reverse the sense of
221      a poll event from a read to a write or vice versa. This is a step on
222      the way to allow mod_ssl taking full advantage of the event MPM.
223      [Graham Leggett]
224
225   *) mod_ldap: LDAP connections used for authentication were not respecting
226      LDAPConnectionPoolTimeout.  PR 54587
227
228   *) core: ap_rgetline_core now pulls from r->proto_input_filters.
229
230   *) mod_proxy_html: process parsed comments immediately. 
231      Fixes bug where parsed comments may be lost. [Nick Kew]
232
233   *) mod_proxy_html: introduce doctype for HTML 5 [Nick Kew]
234
235   *) mod_proxy_html: fix typo-bug processing "strict" vs "transitional"
236      HTML/XHTML [Nick Kew]
237
238   *) core: Add option to add valgrind support. Use it to reduce false positive
239      warnings in mod_ssl. [Stefan Fritsch]
240
241   *) mod_authn_file, mod_authn_dbd, mod_authn_dbm, mod_authn_socache:
242      Cache the result of the most recent password hash verification for every
243      keep-alive connection. This saves some expensive calculations.
244      [Stefan Fritsch]
245
246   *) http: Remove support for Request-Range header sent by Navigator 2-3 and
247      MSIE 3. [Stefan Fritsch]
248
249   *) core, http: Extend HttpProtocol with an option to enforce stricter HTTP
250      conformance or to only log the found problems. [Stefan Fritsch]
251
252   *) core: Correctly parse an IPv6 literal host specification in an absolute
253      URL in the request line. [Stefan Fritsch]
254
255   *) EventOpt MPM
256
257   *) core: Add LogLevelOverride directive that allows to override the
258      loglevel for clients from certain IPs. This also works for things
259      like the SSL handshake where <If> LogLevel ... </If> is evaluated
260      too late. [Stefan Fritsch]
261
262   *) core: Add new directive Warning to issue warnings from a configuration
263      file. Both Warning and Error now generate a timestamped log message.
264      [Fabien Coelho] 
265
266   *) ap_expr: Add SERVER_PROTOCOL_VERSION, ..._MAJOR, and ..._MINOR
267      variables. [Stefan Fritsch]
268
269   *) core: New directive RegisterHttpMethod for registering non-standard
270      HTTP methods. [Stefan Fritsch]
271
272   *) core: New directive HttpProtocol which allows to disable HTTP/0.9
273      support. [Stefan Fritsch]
274
275   *) mod_allowhandlers: New module to forbid specific handlers for specific
276      directories. [Stefan Fritsch]
277
278   *) mod_systemd: New module, for integration with systemd on Linux.
279      [Jan Kaluza <jkaluza redhat.com>]
280
281   *) WinNT MPM: Store pid and generation for each thread in scoreboard
282      to allow tracking of threads from exiting children via mod_status
283      or other such mechanisms.  [Jeff Trawick]
284
285   *) The following now respect DefaultRuntimeDir/DEFAULT_REL_RUNTIMEDIR:
286      - APIs: ap_log_pid(), ap_remove_pid, ap_read_pid()
287      - core: the scoreboard (ScoreBoardFile), pid file (PidFile), and
288        mutexes (Mutex)
289      - mod_cache: thundering herd lock directory
290      - mod_lbmethod_heartbeat, mod_heartmonitor: heartbeat storage file
291      - mod_ldap: shared memory cache
292      - mod_socache_shmcb, mod_socache_dbm: shared memory or dbm for cache
293      [Jeff Trawick]
294
295   *) suexec: Add --enable-suexec-capabilites support on Linux, to use
296      setuid/setgid capability bits rather than a setuid root binary.
297      [Joe Orton]
298
299   *) suexec: Add support for logging to syslog as an alternative to logging
300      to a file; configure --without-suexec-logfile --with-suexec-syslog.  
301      [Joe Orton]
302
303   *) mod_ssl: Add support for TLS Next Protocol Negotiation.  PR 52210.
304      [Matthew Steele <mdsteele google.com>]
305
306   *) cross-compile: allow to provide CC_FOR_BUILD so that gen_test_char will
307      be compiled by the build compiler instead of the host compiler.
308      Also set CC_FOR_BUILD to 'cc' when cross-compilation is detected.
309      PR 51257. [Guenter Knauf]
310
311   *) core: In maintainer mode, replace apr_palloc with a version that
312      initializes the allocated memory with non-zero values, except if
313      AP_DEBUG_NO_ALLOC_POISON is defined. [Stefan Fritsch]
314
315   *) mod_policy: Add a new testing module to help server administrators
316      enforce a configurable level of protocol compliance on their
317      servers and application servers behind theirs. [Graham Leggett]
318
319   *) mod_firehose: Add a new debugging module able to record traffic
320      passing through the server in such a way that connections and/or
321      requests be reconstructed and replayed. [Graham Leggett]
322
323   *) mod_noloris
324
325   *) APREQ
326
327   *) Simple MPM
328
329   *) mod_serf
330
331   [Apache 2.5.0-dev includes those bug fixes and changes with the
332    Apache 2.4.xx tree as documented below, except as noted.]
333
334 Changes with Apache 2.4.x and later:
335
336   *) http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/CHANGES?view=markup
337
338 Changes with Apache 2.2.x and later:
339
340   *) http://svn.apache.org/viewvc/httpd/httpd/branches/2.2.x/CHANGES?view=markup
341
342 Changes with Apache 2.0.x and later:
343
344   *) http://svn.apache.org/viewvc/httpd/httpd/branches/2.0.x/CHANGES?view=markup
345