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