]> granicus.if.org Git - apache/blob - CHANGES
mod_proxy_connect: Support port ranges in AllowConnect
[apache] / CHANGES
1                                                          -*- coding: utf-8 -*-
2
3 Changes with Apache 2.3.7
4
5   *) SECURITY: CVE-2009-3555 (cve.mitre.org)
6      mod_ssl: Comprehensive fix of the TLS renegotiation prefix injection
7      attack when compiled against OpenSSL version 0.9.8m or later. Introduces
8      the 'SSLInsecureRenegotiation' directive to reopen this vulnerability
9      and offer unsafe legacy renegotiation with clients which do not yet
10      support the new secure renegotiation protocol, RFC 5746.
11      [Joe Orton, and with thanks to the OpenSSL Team]
12
13   *) SECURITY: CVE-2009-3555 (cve.mitre.org)
14      mod_ssl: A partial fix for the TLS renegotiation prefix injection attack
15      by rejecting any client-initiated renegotiations. Forcibly disable
16      keepalive for the connection if there is any buffered data readable. Any
17      configuration which requires renegotiation for per-directory/location
18      access control is still vulnerable, unless using OpenSSL >= 0.9.8l.
19      [Joe Orton, Ruediger Pluem, Hartmut Keil <Hartmut.Keil adnovum.ch>]
20
21   *) SECURITY: CVE-2010-0408 (cve.mitre.org)
22      mod_proxy_ajp: Respond with HTTP_BAD_REQUEST when the body is not sent
23      when request headers indicate a request body is incoming; not a case of
24      HTTP_INTERNAL_SERVER_ERROR.  [Niku Toivola <niku.toivola sulake.com>]
25
26   *) SECURITY: CVE-2010-0425 (cve.mitre.org)
27      mod_isapi: Do not unload an isapi .dll module until the request
28      processing is completed, avoiding orphaned callback pointers.
29      [Brett Gervasoni <brettg senseofsecurity.com>, Jeff Trawick]
30
31   *) mod_proxy_connect: Support port ranges in AllowConnect. PR 23673.
32      [Stefan Fritsch]
33
34   *) Proxy balancer: support setting error status according to HTTP response
35      code from a backend.  PR 48939.  [Daniel Ruggeri <DRuggeri primary.net>]
36
37   *) htcacheclean: Introduce the ability to clean specific URLs from the
38      cache, if provided as an optional parameter on the command line.
39      [Graham Leggett]
40
41   *) core: Introduce the IncludeStrict directive, which explicitly fails
42      server startup if no files or directories match a wildcard path.
43      [Graham Leggett]
44
45   *) htcacheclean: Report additional statistics about entries deleted.
46      PR 48944. [Mark Drayton mark markdrayton.info]
47
48   *) Introduce SSLFIPS directive to support OpenSSL FIPS_mode; permits all
49      builds of mod_ssl to use 'SSLFIPS off' for portability, but the proper
50      build of openssl is required for 'SSLFIPS on'.  PR 46270.
51      [Dr Stephen Henson <steve openssl.org>, William Rowe]
52
53   *) mod_proxy_http: Log the port of the remote server in various messages.
54      PR 48812. [Igor Galić <i galic brainsware org>] 
55
56   *) mod_reqtimeout: Do not wrongly enforce timeouts for mod_proxy's backend
57      connections and other protocol handlers (like mod_ftp). [Stefan Fritsch]
58
59   *) mod_proxy_ajp: Really regard the operation a success, when the client
60      aborted the connection. In addition adjust the log message if the client
61      aborted the connection. [Ruediger Pluem]
62
63   *) mod_ssl: Add the 'SSLInsecureRenegotiation' directive, which
64      allows insecure renegotiation with clients which do not yet
65      support the secure renegotiation protocol.  [Joe Orton]
66
67   *) mod_ssl: Fix a potential I/O hang if a long list of trusted CAs
68      is configured for client cert auth. PR 46952.  [Joe Orton]
69
70   *) core: Only log a 408 if it is no keepalive timeout. PR 39785
71      [Ruediger Pluem,  Mark Montague <markmont umich.edu>]
72
73   *) support/rotatelogs: Add -L option to create a link to the current
74      log file.  PR 48761 [<lyndon orthanc.ca>, Dan Poirier]
75
76   *) mod_ldap: Update LDAPTrustedClientCert to consistently be a per-directory
77      setting only, matching most of the documentation and examples. 
78      PR 46541 [Paul Reder, Eric Covener] 
79
80   *) mod_ldap: LDAPTrustedClientCert now accepts CA_DER/CA_BASE64 argument 
81      types previously allowed only in LDAPTrustedGlobalCert. [Eric Covener]
82
83   *) mod_negotiation: Preserve query string over multiviews negotiation.
84      This buglet was fixed for type maps in 2.2.6, but the same issue
85      affected multiviews and was overlooked.
86      PR 33112 [Joergen Thomsen <apache jth.net>]
87
88   *) mod_ldap: Eliminate a potential crash with multiple LDAPTrustedClientCert
89      when some are not password-protected. [Eric Covener]
90
91   *) Fix startup segfault when the Mutex directive is used but no loaded 
92      modules use httpd mutexes.  PR 48787.  [Jeff Trawick]
93
94   *) Proxy: get the headers right in a HEAD request with
95      ProxyErrorOverride, by checking for an overridden error
96      before not after going into a catch-all code path.
97      PR 41646.  [Nick Kew, Stuart Children]
98
99   *) support/rotatelogs: Support the simplest log rotation case, log
100      truncation. Useful when the log is being processed in real time
101      using a command like tail. [Graham Leggett]
102
103   *) support/htcacheclean: Teach it how to write a pid file (modelled on
104      httpd's writing of a pid file) so that it becomes possible to run
105      more than one instance of htcacheclean on the same machine.
106      [Graham Leggett]
107
108   *) Log command line on startup, so there's a record of command line
109      arguments like -f.  PR 48752.  [Dan Poirier]
110
111   *) Introduce mod_reflector, a handler capable of reflecting POSTed
112      request bodies back within the response through the output filter
113      stack. Can be used to turn an output filter into a web service.
114      [Graham Leggett]
115
116   *) mod_proxy_http: Make sure that when an ErrorDocument is served
117      from a reverse proxied URL, that the subrequest respects the status
118      of the original request. This brings the behaviour of proxy_handler
119      in line with default_handler. PR 47106. [Graham Leggett]
120
121   *) Support wildcards in both the directory and file components of
122      the path specified by the Include directive. [Graham Leggett]
123
124   *) mod_proxy, mod_proxy_http: Support remote https proxies
125      by using HTTP CONNECT.  PR 19188.  
126      [Philippe Dutrueux <lilas evidian.com>, Rainer Jung]
127
128 Changes with Apache 2.3.6
129
130   *) worker: Don't report server has reached MaxClients until it has.
131      Add message when server gets within MinSpareThreads of MaxClients.
132      PR 46996.  [Dan Poirier]
133
134   *) mod_session: Session expiry was being initialised, but not updated
135      on each session save, resulting in timed out sessions when there
136      should not have been. Fixed. [Graham Leggett]
137
138   *) mod_log_config: Add the R option to log the handler used within the
139      request. [Christian Folini <christian.folini netnea com>]
140
141   *) mod_include: Allow fine control over the removal of Last-Modified and
142      ETag headers within the INCLUDES filter, making it possible to cache
143      responses if desired. Fix the default value of the SSIAccessEnable
144      directive.  [Graham Leggett]
145
146   *) Add new UnDefine directive to undefine a variable. PR 35350.
147      [Stefan Fritsch]
148
149   *) Make ap_pregsub(), used by AliasMatch and friends, use the same syntax
150      for regex backreferences as mod_rewrite and mod_include: Remove the use
151      of '&' as an alias for '$0' and allow to escape any character with a
152      backslash. PR 48351. [Stefan Fritsch]
153
154   *) mod_authnz_ldap: If AuthLDAPCharsetConfig is set, also convert the
155      password to UTF-8. PR 45318.
156      [Johannes Müller <joh_m gmx.de>, Stefan Fritsch]
157
158   *) ab: Fix calculation of requests per second in HTML output. PR 48594.
159      [Stefan Fritsch]
160
161   *) mod_authnz_ldap: Failures to map a username to a DN, or to check a user
162      password now result in an informational level log entry instead of 
163      warning level.  [Eric Covener]
164
165 Changes with Apache 2.3.5
166
167   *) SECURITY: CVE-2010-0434 (cve.mitre.org)
168      Ensure each subrequest has a shallow copy of headers_in so that the
169      parent request headers are not corrupted.  Eliminates a problematic
170      optimization in the case of no request body.  PR 48359 
171      [Jake Scott, William Rowe, Ruediger Pluem]
172
173   *) Turn static function get_server_name_for_url() into public
174      ap_get_server_name_for_url() and use it where appropriate. This
175      fixes mod_rewrite generating invalid URLs for redirects to IPv6
176      literal addresses. [Stefan Fritsch]
177
178   *) mod_ldap: Introduce new config option LDAPTimeout to set the timeout
179      for LDAP operations like bind and search. [Stefan Fritsch]
180
181   *) mod_proxy, mod_proxy_ftp: Move ProxyFtpDirCharset from mod_proxy to
182      mod_proxy_ftp. [Takashi Sato]
183
184   *) mod_proxy, mod_proxy_connect: Move AllowCONNECT from mod_proxy to
185      mod_proxy_connect. [Takashi Sato]
186
187   *) mod_cache: Do an exact match of the keys defined by
188      CacheIgnoreURLSessionIdentifiers against the querystring instead of
189      a partial match.  PR 48401.
190      [Dodou Wang <wangdong.08 gmail.com>, Ruediger Pluem]
191
192   *) mod_proxy_balancer: Fix crash in balancer-manager. [Rainer Jung]
193
194   *) Core HTTP: disable keepalive when the Client has sent
195      Expect: 100-continue
196      but we respond directly with a non-100 response.
197      Keepalive here led to data from clients continuing being treated as
198      a new request.
199      PR 47087 [Nick Kew]
200
201   *) Core: reject NULLs in request line or request headers.
202      PR 43039 [Nick Kew]
203
204   *) Core: (re)-introduce -T commandline option to suppress documentroot
205      check at startup.
206      PR 41887 [Jan van den Berg <janvdberg gmail.com>]
207
208   *) mod_autoindex: support XHTML as equivalent to HTML in IndexOptions,
209                     ScanHTMLTitles, ReadmeName, HeaderName
210      PR 48416 [Dmitry Bakshaev <dab18 izhnet.ru>, Nick Kew]
211
212   *) Proxy: Fix ProxyPassReverse with relative URL
213      Derived (slightly erroneously) from PR 38864 [Nick Kew]
214
215   *) mod_headers: align Header Edit with Header Set when used on Content-Type
216      PR 48422 [Cyril Bonté <cyril.bonte free.fr>, Nick Kew>]
217
218   *) mod_headers: Enable multi-match-and-replace edit option
219      PR 47066 [Nick Kew]
220
221   *) mod_filter: enable it to act on non-200 responses.
222      PR 48377 [Nick Kew]
223
224 Changes with Apache 2.3.4
225
226   *) Replace AcceptMutex, LockFile, RewriteLock, SSLMutex, SSLStaplingMutex,
227      and WatchdogMutexPath with a single Mutex directive.  Add APIs to
228      simplify setup and user customization of APR proc and global mutexes.  
229      (See util_mutex.h.)  Build-time setting DEFAULT_LOCKFILE is no longer
230      respected; set DEFAULT_REL_RUNTIMEDIR instead.  [Jeff Trawick]
231
232   *) http_core: KeepAlive no longer accepts other than On|Off.
233      [Takashi Sato]
234
235   *) mod_dav: Remove errno from dav_error interface.  Calls to dav_new_error()
236      and dav_new_error_tag() must be adjusted to add an apr_status_t parameter.
237      [Jeff Trawick]
238
239   *) mod_authnz_ldap: Add AuthLDAPBindAuthoritative to allow Authentication to
240      try other providers in the case of an LDAP bind failure.
241      PR 46608 [Justin Erenkrantz, Joe Schaefer, Tony Stevenson]
242
243   *) Build: fix --with-module to work as documented
244      PR 43881 [Gez Saunders <gez.saunders virgin.net>]
245
246 Changes with Apache 2.3.3
247
248   *) SECURITY: CVE-2009-3095 (cve.mitre.org)
249      mod_proxy_ftp: sanity check authn credentials.
250      [Stefan Fritsch <sf fritsch.de>, Joe Orton]
251
252   *) SECURITY: CVE-2009-3094 (cve.mitre.org)
253      mod_proxy_ftp: NULL pointer dereference on error paths.
254      [Stefan Fritsch <sf fritsch.de>, Joe Orton]
255   *) mod_ssl: enable support for ECC keys and ECDH ciphers.  Tested against
256      OpenSSL 1.0.0b3.  [Vipul Gupta <vipul.gupta sun.com>, Sander Temme]
257
258   *) mod_dav: Include uri when logging a PUT error due to connection abort.
259      PR 38149. [Stefan Fritsch]
260
261   *) mod_dav: Return 409 instead of 500 for a LOCK request if the parent
262      resource does not exist or is not a collection. PR 43465. [Stefan Fritsch]
263
264   *) mod_dav_fs: Return 409 instead of 500 for Litmus test case copy_nodestcoll
265      (a COPY request where the parent of the destination resource does not
266      exist). PR 39299. [Stefan Fritsch]
267
268   *) mod_dav_fs: Don't delete the whole file if a PUT with content-range failed.
269      PR 42896. [Stefan Fritsch]
270
271   *) mod_dav_fs: Make PUT create files atomically and no longer destroy the
272      old file if the transfer aborted. PR 39815. [Paul Querna, Stefan Fritsch]
273
274   *) mod_dav_fs: Remove inode keyed locking as this conflicts with atomically
275      creating files. On systems with inode numbers, this is a format change of
276      the DavLockDB. The old DavLockDB must be deleted on upgrade.
277      [Stefan Fritsch]
278
279   *) mod_log_config: Make ${cookie}C correctly match whole cookie names
280      instead of substrings. PR 28037. [Dan Franklin <dan dan-franklin.com>,
281      Stefan Fritsch]
282
283   *) vhost: A purely-numeric Host: header should not be treated as a port.
284      PR 44979 [Nick Kew]
285
286   *) mod_ldap: Avoid 500 errors with "Unable to set LDAP_OPT_REFHOPLIMIT option to 5"
287      when built against openldap by using SDK LDAP_OPT_REFHOPLIMIT defaults unless
288      LDAPReferralHopLimit is explicitly configured.
289      [Eric Covener]
290
291   *) mod_charset_lite: Honor 'CharsetOptions NoImplicitAdd'.
292      [Eric Covener]
293
294   *) mod_ssl: Add support for OCSP Stapling.  PR 43822.  
295      [Dr Stephen Henson <shenson oss-institute.org>]
296
297   *) mod_socache_shmcb: Allow parens in file name if cache size is given.
298      Fixes SSLSessionCache directive mis-parsing parens in pathname.
299      PR 47945. [Stefan Fritsch]
300
301   *) htpasswd: Improve out of disk space handling. PR 30877. [Stefan Fritsch]
302
303   *) htpasswd: Use MD5 hash by default on all platforms. [Stefan Fritsch]
304
305   *) mod_sed: Reduce memory consumption when processing very long lines.
306      PR 48024 [Basant Kumar Kukreja <basant.kukreja sun.com>]
307
308   *) ab: Fix segfault in case the argument for -n is a very large number.
309      PR 47178. [Philipp Hagemeister <oss phihag.de>]
310
311   *) Allow ProxyPreserveHost to work in <Proxy> sections. PR 34901.
312      [Stefan Fritsch]
313
314   *) configure: Fix THREADED_MPMS so that mod_cgid is enabled again 
315      for worker MPM. [Takashi Sato]
316
317   *) mod_dav: Provide a mechanism to obtain the request_rec and pathname
318      from the dav_resource. [Jari Urpalainen <jari.urpalainen nokia.com>,
319      Brian France <brian brianfrance.com>]
320
321   *) Build: Use install instead of cp if available on installing
322      modules to avoid segmentation fault. PR 47951. [hirose31 gmail.com]
323
324   *) mod_cache: correctly consider s-maxage in cacheability
325      decisions.  [Dan Poirier]
326
327   *) mod_logio/core: Report more accurate byte counts in mod_status if
328      mod_logio is loaded. PR 25656. [Stefan Fritsch]
329
330   *) mod_ldap: If LDAPSharedCacheSize is too small, try harder to purge
331      some cache entries and log a warning. Also increase the default
332      LDAPSharedCacheSize to 500000. This is a more realistic size suitable
333      for the default values of 1024 for LdapCacheEntries/LdapOpCacheEntries.
334      PR 46749. [Stefan Fritsch]
335
336   *) mod_rewrite: Make sure that a hostname:port isn't fully qualified if
337      the request is a CONNECT request. [Bill Zajac <billz consultla.com>]
338
339   *) mod_cache: Teach CacheEnable and CacheDisable to work from within a
340      Location section, in line with how ProxyPass works. [Graham Leggett]
341
342   *) mod_reqtimeout: New module to set timeouts and minimum data rates for
343      receiving requests from the client. [Stefan Fritsch]
344
345   *) core: Fix potential memory leaks by making sure to not destroy
346      bucket brigades that have been created by earlier filters.
347      [Stefan Fritsch]
348
349   *) core, mod_deflate, mod_sed: Reduce memory usage by reusing bucket
350      brigades in several places. [Stefan Fritsch]
351
352   *) mod_cache: Fix uri_meets_conditions() so that CacheEnable will
353      match by scheme, or by a wildcarded hostname. PR 40169
354      [Peter Grandi <pg_asf asf.for.sabi.co.uk>, Graham Leggett]
355
356   *) suxec: Allow to log an error if exec fails by setting FD_CLOEXEC
357      on the log file instead of closing it. PR 10744. [Nicolas Rachinsky]
358
359   *) mod_mime: Make RemoveType override the info from TypesConfig.
360      PR 38330. [Stefan Fritsch]
361
362   *) mod_cache: Introduce the option to run the cache from within the
363      normal request handler, and to allow fine grained control over
364      where in the filter chain content is cached. [Graham Leggett]
365
366   *) core: Treat timeout reading request as 408 error, not 400.
367      Log 408 errors in access log as was done in Apache 1.3.x.
368      PR 39785 [Nobutaka Mantani <nobutaka nobutaka.org>, 
369      Stefan Fritsch <sf fritsch.de>, Dan Poirier]
370
371   *) mod_ssl: Reintroduce SSL_CLIENT_S_DN, SSL_CLIENT_I_DN, SSL_SERVER_S_DN,
372      SSL_SERVER_I_DN back to the environment variables to be set by mod_ssl.
373      [Peter Sylvester <peter.sylvester edelweb.fr>]
374
375   *) mod_disk_cache: don't cache incomplete responses, per RFC 2616, 13.8.
376      PR15866.  [Dan Poirier]
377
378   *) ab: ab segfaults in verbose mode on https sites
379      PR46393.  [Ryan Niebur]
380
381   *) mod_dav: Allow other modules to become providers and add resource types
382      to the DAV response. [Jari Urpalainen <jari.urpalainen nokia.com>,
383      Brian France <brian brianfrance.com>]
384
385   *) mod_dav: Allow other modules to add things to the DAV or Allow headers
386      of an OPTIONS request. [Jari Urpalainen <jari.urpalainen nokia.com>,
387      Brian France <brian brianfrance.com>]
388
389   *) core: Lower memory usage of core output filter.
390      [Stefan Fritsch <sf sfritsch.de>]
391
392   *) mod_mime: Detect invalid use of MultiviewsMatch inside Location and
393      LocationMatch sections.  PR47754. [Dan Poirier]
394
395   *) mod_request: Make sure the KeptBodySize directive rejects values
396      that aren't valid numbers. [Graham Leggett]
397
398   *) mod_session_crypto: Sanity check should the potentially encrypted
399      session cookie be too short. [Graham Leggett]
400
401   *) mod_session.c: Prevent a segfault when session is added but not
402      configured. [Graham Leggett]
403
404   *) htcacheclean: 19 ways to fail, 1 error message. Fixed. [Graham Leggett]
405
406   *) mod_auth_digest: Fail server start when nonce count checking
407      is configured without shared memory, or md5-sess algorithm is
408      configured. [Dan Poirier]
409
410   *) mod_proxy_connect: The connect method doesn't work if the client is
411      connecting to the apache proxy through an ssl socket. Fixed.
412      PR29744. [Brad Boyer, Mark Cave-Ayland, Julian Gilbey, Fabrice Durand,
413      David Gence, Tim Dodge, Per Gunnar Hans, Emmanuel Elango,
414      Kevin Croft, Rudolf Cardinal]
415
416   *) mod_ssl: The error message when SSLCertificateFile is missing should
417      at least give the name or position of the problematic virtual host
418      definition. [Stefan Fritsch sf sfritsch.de]
419
420   *) mod_auth_digest: Fix null pointer when qop=none. [Dan Poirier]
421
422   *) Add support for HTTP PUT to ab. [Jeff Barnes <jbarnesweb yahoo.com>]
423
424   *) mod_headers: generalise the envclause to support expression
425      evaluation with ap_expr parser [Nick Kew]
426
427   *) mod_cache: Introduce the thundering herd lock, a mechanism to keep
428      the flood of requests at bay that strike a backend webserver as
429      a cached entity goes stale. [Graham Leggett]
430
431   *) mod_auth_digest: Fix usage of shared memory and re-enable it.
432      PR 16057 [Dan Poirier]
433
434   *) Preserve Port information over internal redirects
435      PR 35999 [Jonas Ringh <jonas.ringh cixit.se>]
436
437   *) Proxy: unable to connect to a backend is SERVICE_UNAVAILABLE,
438      rather than BAD_GATEWAY or (especially) NOT_FOUND.
439      PR 46971 [evanc nortel.com]
440
441   *) Various modules: Do better checking of pollset operations in order to
442      avoid segmentation faults if they fail. PR 46467
443      [Stefan Fritsch <sf sfritsch.de>]
444
445   *) mod_autoindex: Correctly create an empty cell if the description
446      for a file is missing. PR 47682 [Peter Poeml <poeml suse.de>]
447
448   *) ab: Fix broken error messages after resolver or connect() failures.
449      [Jeff Trawick]
450
451   *) SECURITY: CVE-2009-1890 (cve.mitre.org) 
452      Fix a potential Denial-of-Service attack against mod_proxy in a
453      reverse proxy configuration, where a remote attacker can force a
454      proxy process to consume CPU time indefinitely.  [Nick Kew, Joe Orton]
455
456   *) SECURITY: CVE-2009-1191 (cve.mitre.org)
457      mod_proxy_ajp: Avoid delivering content from a previous request which
458      failed to send a request body. PR 46949 [Ruediger Pluem]
459
460   *) htdbm: Fix possible buffer overflow if dbm database has very
461      long values.  PR 30586 [Dan Poirier]
462
463   *) core: Return APR_EOF if request body is shorter than the length announced
464      by the client. PR 33098 [ Stefan Fritsch <sf sfritsch.de>]
465
466   *) mod_suexec: correctly set suexec_enabled when httpd is run by a
467      non-root user and may have insufficient permissions.
468      PR 42175 [Jim Radford <radford blackbean.org>]
469
470   *) mod_ssl: Fix SSL_*_DN_UID variables to use the 'userID' attribute
471      type.  PR 45107.  [Michael Ströder <michael stroeder.com>,
472      Peter Sylvester <peter.sylvester edelweb.fr>]
473
474   *) mod_proxy_http: fix case sensitivity checking transfer encoding
475      PR 47383 [Ryuzo Yamamoto <ryuzo.yamamoto gmail.com>]
476
477   *) mod_alias: ensure Redirect issues a valid URL.
478      PR 44020 [Håkon Stordahl <hakon stordahl.org>]
479
480   *) mod_dir: add FallbackResource directive, to enable admin to specify
481      an action to happen when a URL maps to no file, without resorting
482      to ErrorDocument or mod_rewrite.  PR 47184 [Nick Kew]
483
484   *) mod_cgid: Do not leak the listening Unix socket file descriptor to the
485      CGI process. PR 47335 [Kornél Pál <kornelpal gmail.com>]
486
487   *) mod_rewrite: Remove locking for writing to the rewritelog.
488      PR 46942 [Dan Poirier <poirier pobox.com>]
489
490   *) mod_alias: check sanity in Redirect arguments.
491      PR 44729 [Sönke Tesch <st kino-fahrplan.de>, Jim Jagielski]
492
493   *) mod_proxy_http: fix Host: header for literal IPv6 addresses.
494      PR 47177 [Carlos Garcia Braschi <cgbraschi gmail.com>]
495
496   *) mod_cache: Add CacheIgnoreURLSessionIdentifiers directive to ignore
497      defined session identifiers encoded in the URL when caching.
498      [Ruediger Pluem]
499
500   *) mod_rewrite: Fix the error string returned by RewriteRule.
501      RewriteRule returned "RewriteCond: bad flag delimiters" when the 3rd
502      argument of RewriteRule was not started with "[" or not ended with "]".
503      PR 45082 [Vitaly Polonetsky <m_vitaly topixoft.com>]
504
505   *) Windows: Fix usage message.
506      [Rainer Jung]
507
508   *) apachectl: When passing through arguments to httpd in
509      non-SysV mode, use the "$@" syntax to preserve arguments.
510      [Eric Covener]
511
512   *) mod_dbd: add DBDInitSQL directive to enable SQL statements to
513      be run when a connection is opened.  PR 46827
514      [Marko Kevac <mkevac gmail.com>]
515
516   *) mod_cgid: Improve handling of long AF_UNIX socket names (ScriptSock).  
517      PR 47037.  [Jeff Trawick]
518
519   *) mod_proxy_ajp: Check more strictly that the backend follows the AJP
520      protocol. [Mladen Turk]
521
522   *) mod_proxy_ajp: Forward remote port information by default.
523      [Rainer Jung]
524
525   *) Allow MPMs to be loaded dynamically, as with most other modules.  Use
526      --enable-mpms-shared={list|"all"} to enable.  This required changes to
527      the MPM interfaces.  Removed: mpm.h, mpm_default.h (as an installed 
528      header), APACHE_MPM_DIR, MPM_NAME, ap_threads_per_child,
529      ap_max_daemons_limit, ap_my_generation, etc.  ap_mpm_query() can't be
530      called until after the register-hooks phase.  [Jeff Trawick]
531
532   *) mod_ssl: Add SSLProxyCheckPeerExpire and SSLProxyCheckPeerCN directives
533      to enable stricter checking of remote server certificates.
534      [Ruediger Pluem]
535
536   *) ab: Fix a 100% CPU loop on platforms where a failed non-blocking connect
537      returns EINPROGRESS and a subsequent poll() returns only POLLERR.
538      Observed on HP-UX.  [Eric Covener]
539
540   *) Remove broken support for BeOS, OS/2, TPF, and even older platforms such
541      as A/UX, Next, and Tandem.  [Jeff Trawick]
542
543   *) mod_proxy_ftp: Add ProxyFtpListOnWildcard directive to allow files with
544      globbing characters to be retrieved instead of converted into a 
545      directory listing.  PR 46789 [Dan Poirier <poirier pobox.com>]
546
547   *) Provide ap_retained_data_create()/ap_retained_data_get() for preservation
548      of module state across unload/load.  [Jeff Trawick]
549
550   *) mod_substitute: Fix a memory leak. PR 44948
551      [Dan Poirier <poirier pobox.com>]
552
553 Changes with Apache 2.3.2
554
555   *) mod_mime_magic: Fix detection of compressed content. [Rainer Jung]
556
557   *) mod_negotiation: Escape pathes of filenames in 406 responses to avoid
558      HTML injections and HTTP response splitting.  PR 46837.
559      [Geoff Keating <geoffk apple.com>]
560
561   *) mod_ssl: add support for type-safe STACK constructs in OpenSSL
562      development HEAD.  PR 45521.  [Kaspar Brand, Sander Temme]
563
564   *) ab: Fix maintenance of the pollset to resolve EALREADY errors 
565      with kqueue (BSD/OS X) and excessive CPU with event ports (Solaris).
566      PR 44584.  Use APR_POLLSET_NOCOPY for better performance with some
567      pollset implementations.  [Jeff Trawick]
568
569   *) mod_disk_cache: The module now turns off sendfile support if
570      'EnableSendfile off' is defined globally. [Lars Eilebrecht]
571
572   *) mod_deflate: Adjust content metadata before bailing out on 304
573      responses so that the metadata does not differ from 200 response.
574      [Roy T. Fielding]
575
576   *) mod_deflate: Fix creation of invalid Etag headers. We now make sure
577      that the Etag value is properly quoted when adding the gzip marker.
578      PR 39727, 45023. [Lars Eilebrecht, Roy T. Fielding]
579
580   *) Added 20x22 icons for ODF, SVG, and XML documents.  PR 37185.
581      [Peter Harlow]
582
583   *) Disabled DefaultType directive and removed ap_default_type()
584      from core.  We now exclude Content-Type from responses for which
585      a media type has not been configured via mime.types, AddType,
586      ForceType, or some other mechanism. PR 13986. [Roy T. Fielding]
587
588   *) mod_rewrite: Add IPV6 variable to RewriteCond
589      [Ryan Phillips <ryan-apache trolocsis.com>]
590
591   *) core: Enhance KeepAliveTimeout to support a value in milliseconds.
592      PR 46275. [Takashi Sato]
593
594   *) rotatelogs: Allow size units B, K, M, G and combination of
595      time and size based rotation. [Rainer Jung]
596
597   *) rotatelogs: Add flag for verbose (debug) output. [Rainer Jung]
598
599   *) mod_ssl: Fix merging of SSLRenegBufferSize directive. PR 46508
600      [<tlhackque yahoo.com>]
601
602   *) core: Translate the the status line to ASCII on EBCDIC platforms in
603      ap_send_interim_response() and for locally generated "100 Continue"
604      responses.  [Eric Covener]
605
606   *) prefork: Fix child process hang during graceful restart/stop in
607      configurations with multiple listening sockets.  PR 42829.  [Joe Orton,
608      Jeff Trawick]
609
610   *) mod_session_crypto: Ensure that SessionCryptoDriver can only be
611      set in the global scope. [Graham Leggett]
612
613   *) mod_ext_filter: We need to detect failure to startup the filter
614      program (a mangled response is not acceptable).  Fix to detect
615      failure, and offer configuration option either to abort or
616      to remove the filter and continue.
617      PR 41120 [Nick Kew]
618
619   *) mod_session_crypto: Rewrite the session_crypto module against the
620      apr_crypto API. [Graham Leggett]
621
622   *) mod_auth_form: Fix a pool lifetime issue, don't remove the subrequest
623      until the main request is cleaned up. [Graham Leggett]
624
625 Changes with Apache 2.3.1
626
627   *) ap_slotmem: Add in new slot-based memory access API impl., including
628      2 providers (mod_sharedmem and mod_plainmem) [Jim Jagielski,
629      Jean-Frederic Clere, Brian Akins <brian.akins turner.com>]
630
631   *) mod_include: support generating non-ASCII characters as entities in SSI
632      PR 25202 [Nick Kew]
633
634   *) core/utils: Enhance ap_escape_html API to support escaping non-ASCII chars
635      PR 25202 [Nick Kew]
636
637   *) mod_rewrite: fix "B" flag breakage by reverting r5589343
638     PR 45529 [Bob Ionescu <bobsiegen googlemail.com>]
639
640   *) CGI: return 504 (Gateway timeout) rather than 500 when a script
641      times out before returning status line/headers.
642      PR 42190 [Nick Kew]
643
644   *) mod_cgid: fix segfault problem on solaris.
645      PR 39332 [Masaoki Kobayashi <masaoki techfirm.co.jp>]
646
647   *) mod_proxy_scgi: Added. [André Malo]
648
649   *) mod_cache: Introduce 'no-cache' per-request environment variable
650      to prevent the saving of an otherwise cacheable response.
651      [Eric Covener]
652
653   *) mod_rewrite: Introduce DiscardPathInfo|DPI flag to stop the troublesome
654      way that per-directory rewrites append the previous notion of PATH_INFO
655      to each substitution before evaluating subsequent rules. 
656      PR 38642 [Eric Covener]
657
658   *) mod_cgid: Do not add an empty argument when calling the CGI script.
659      PR 46380 [Ruediger Pluem]
660
661   *) scoreboard: Remove unused sb_type from process_score.
662      [Torsten Foertsch <torsten.foertsch gmx.net>, Chris Darroch]
663
664   *) mod_ssl: Add SSLRenegBufferSize directive to allow changing the
665      size of the buffer used for the request-body where necessary
666      during a per-dir renegotiation.  PR 39243.  [Joe Orton]
667
668   *) mod_proxy_fdpass: New module to pass a client connection over to a separate
669      process that is reading from a unix daemon socket.
670
671   *) mod_ssl: Improve environment variable extraction to be more
672      efficient and to correctly handle DNs with duplicate tags.
673      PR 45975.  [Joe Orton]
674
675   *) Remove the obsolete serial attribute from the RPM spec file. Compile
676      against the external pcre. Add missing binaries fcgistarter, and
677      mod_socache* and mod_session*. [Graham Leggett]
678
679 Changes with Apache 2.3.0
680
681   *) mod_ratelimit: New module to do bandwidth rate limiting. [Paul Querna]
682
683   *) Remove X-Pad header which was added as a work around to a bug in 
684      Netscape 2.x to 4.0b2. [Takashi Sato <takashi lans-tv.com>]
685
686   *) Add DTrace Statically Defined Tracing (SDT) probes.
687     [Theo Schlossnagle <jesus omniti.com>, Paul Querna]
688
689   *) mod_proxy_balancer: Move all load balancing implementations
690      as individual, self-contained mod_proxy submodules under
691      modules/proxy/balancers [Jim Jagielski]
692
693   *) Rename APIs to include ap_ prefix:
694         find_child_by_pid -> ap_find_child_by_pid
695         suck_in_APR -> ap_suck_in_APR
696         sys_privileges_handlers -> ap_sys_privileges_handlers
697         unixd_accept -> ap_unixd_accept
698         unixd_config -> ap_unixd_config
699         unixd_killpg -> ap_unixd_killpg
700         unixd_set_global_mutex_perms -> ap_unixd_set_global_mutex_perms
701         unixd_set_proc_mutex_perms -> ap_unixd_set_proc_mutex_perms
702         unixd_set_rlimit -> ap_unixd_set_rlimit
703      [Paul Querna]
704
705   *) core: When the ap_http_header_filter processes an error bucket, cleanup
706      the passed brigade before returning AP_FILTER_ERROR down the filter 
707      chain. This unambiguously ensures the same error bucket isn't revisited
708      [Ruediger Pluem]
709
710   *) mod_lbmethod_heartbeat: New module to load balance mod_proxy workers
711      based on heartbeats. [Paul Querna]
712
713   *) mod_heartmonitor: New module to collect heartbeats, and write out a file
714      so that other modules can load balance traffic as needed. [Paul Querna]
715
716   *) mod_heartbeat: New module to generate multicast heartbeats to know if a 
717      server is online. [Paul Querna]
718
719   *) core: Error responses set by filters were being coerced into 500 errors,
720      sometimes appended to the original error response. Log entry of:
721      'Handler for (null) returned invalid result code -3' 
722      [Eric Covener]
723
724   *) mod_buffer: Honour the flush bucket and flush the buffer in the
725      input filter. Make sure that metadata buckets are written to
726      the buffer, not to the final brigade. [Graham Leggett]
727
728   *) mod_buffer: Optimise the buffering of heap buckets when the heap
729      buckets stay exactly APR_BUCKET_BUFF_SIZE long. [Graham Leggett,
730      Ruediger Pluem]
731
732   *) mod_buffer: Optional support for buffering of the input and output
733      filter stacks. Can collapse many small buckets into fewer larger
734      buckets, and prevents excessively small chunks being sent over
735      the wire. [Graham Leggett]
736
737   *) mod_privileges: new module to make httpd on Solaris privileges-aware
738      and to enable different virtualhosts to run with different
739      privileges and Unix user/group IDs [Nick Kew]
740
741   *) mod_mem_cache: this module has been removed. [William Rowe]
742
743   *) authn/z: Remove mod_authn_default and mod_authz_default.
744      [Chris Darroch]
745
746   *) authz: Fix handling of authz configurations, make default authz
747      logic replicate 2.2.x authz logic, and replace <Satisfy*>, Reject,
748      and AuthzMergeRules directives with Match, <Match*>, and AuthzMerge
749      directives.  [Chris Darroch]
750
751   *) mod_authn_core: Prevent crash when provider alias created to
752      provider which is not yet registered.  [Chris Darroch]
753
754   *) mod_authn_core: Add AuthType of None to support disabling
755      authentication.  [Chris Darroch]
756
757   *) core: Allow <Limit> and <LimitExcept> directives to nest, and
758      constrain their use to conform with that of other access control
759      and authorization directives.  [Chris Darroch]
760
761   *) unixd: turn existing code into a module, and turn the set user/group
762      and chroot into a child_init function. [Nick Kew]
763
764   *) core: Add ap_timeout_parameter_parse to public API. [Ruediger Pluem]
765
766   *) mod_dir: Support "DirectoryIndex disabled" 
767      Suggested By André Warnier <aw ice-sa.com> [Eric Covener]
768
769   *) mod_ssl: Send Content-Type application/ocsp-request for POST requests to
770      OSCP responders. PR 46014 [Dr Stephen Henson <steve openssl.org>]
771
772   *) Export and install the mod_rewrite.h header to ensure the optional
773      rewrite_mapfunc_t and ap_register_rewrite_mapfunc functions are
774      available to third party modules. [Graham Leggett]
775
776   *) mod_authnz_ldap: don't return NULL-valued environment variables to
777      other modules.  PR 39045 [Francois Pesce <francois.pesce gmail.com>]
778
779   *) Don't adjust case in pathname components that are not of interest
780      to mod_mime.  Fixes mod_negotiation's use of such components.
781      PR 43250 [Basant Kumar Kukreja <basant.kukreja sun.com>]
782
783   *) Be tolerant in what you accept - accept slightly broken
784      status lines from a backend provide they include a valid status code.
785      PR 44995 [Rainer Jung <rainer.jung kippdata.de>]
786
787   *) New module mod_sed: filter Request/Response bodies through sed
788      [Basant Kumar Kukreja <basant.kukreja sun.com>]
789
790   *) mod_auth_form: Make sure that basic authentication is correctly
791      faked directly after login. [Graham Leggett]
792
793   *) mod_session_cookie, mod_session_dbd: Make sure cookies are set both
794      within the output headers and error output headers, so that the
795      session is maintained across redirects. [Graham Leggett]
796
797   *) mod_auth_form: Make sure the logged in user is populated correctly
798      after a form login. Fixes a missing REMOTE_USER variable directly
799      following a login. [Graham Leggett]
800
801   *) mod_session_cookie: Make sure that cookie attributes are correctly
802      included in the blank cookie when cookies are removed. This fixes an
803      inability to log out when using mod_auth_form. [Graham Leggett]
804
805   *) mod_autoindex: add configuration option to insert string
806      in HTML HEAD. [Nick Kew]
807
808   *) mod_session: Prevent a segfault when a CGI script sets a cookie with a
809      null value. [David Shane Holden <dpejesh apache.org>]
810
811   *) mod_headers: Prevent Header edit from processing only the first header
812      of possibly multiple headers with the same name and deleting the
813      remaining ones. PR 45333.  [Ruediger Pluem]
814
815   *) mod_rewrite: Preserve the query string with [proxy,noescape]. PR 45247
816      [Tom Donovan]
817
818   *) core, authn/z: Determine registered authn/z providers directly in
819      ap_setup_auth_internal(), which allows optional functions that just
820      wrapped ap_list_provider_names() to be removed from authn/z modules.
821      [Chris Darroch]
822
823   *) authn/z: Convert common provider version strings to macros.
824      [Chris Darroch]
825
826   *) ab: Make ab.c compile on VC6. PR 45024 [Ruediger Pluem]
827
828   *) configure: Don't reject libtool 2.x
829      PR 44817 [Arfrever Frehtes Taifersar Arahesis <Arfrever.FTA gmail.com>]
830
831   *) core: When testing for slash-terminated configuration paths in
832      ap_location_walk(), don't look past the start of an empty string
833      such as that created by a <Location ""> directive.
834      [Chris Darroch]
835
836   *) core, mod_proxy: If a kept_body is present, it becomes safe for
837      subrequests to support message bodies. Make sure that safety
838      checks within the core and within the proxy are not triggered
839      when kept_body is present. This makes it possible to embed
840      proxied POST requests within mod_include. [Graham Leggett]
841
842   *) mod_auth_form: Make sure the input filter stack is properly set
843      up before reading the login form. Make sure the kept body filter
844      is correctly inserted to ensure the body can be read a second
845      time safely should the authn be successful. [Graham Leggett,
846      Ruediger Pluem]
847
848   *) mod_request: Insert the KEPT_BODY filter via the insert_filter
849      hook instead of during fixups. Add a safety check to ensure the
850      filters cannot be inserted more than once. [Graham Leggett,
851      Ruediger Pluem]
852
853   *) core: Do not allow Options ALL if not all options are allowed to be
854      overwritten. PR 44262 [Michał Grzędzicki <lazy iq.pl>]
855
856   *) ap_cache_cacheable_headers_out() will (now) always
857      merge an error headers _before_ clearing them and _before_
858      merging in the actual entity headers and doing normal
859      hop-by-hop cleansing. [Dirk-Willem van Gulik].
860
861   *) cache: retire ap_cache_cacheable_hdrs_out() which was used
862      for both in- and out-put headers; and replace it by a single
863      ap_cache_cacheable_headers() wrapped in a in- and out-put
864      specific ap_cache_cacheable_headers_in()/out(). The latter
865      which will also merge error and ensure content-type. To keep
866      cache modules consistent with ease. This API change bumps
867      up the minor MM by one [Dirk-Willem van Gulik].
868
869   *) mod_rewrite: Allow Cookie option to set secure and HttpOnly flags.
870      PR 44799 [Christian Wenz <christian wenz.org>]
871
872   *) Move the KeptBodySize directive, kept_body filters and the
873      ap_parse_request_body function out of the http module and into a
874      new module called mod_request, reducing the size of the core.
875      [Graham Leggett]
876
877   *) mod_dbd: Handle integer configuration directive parameters with a
878      dedicated function.
879
880   *) Change the directives within the mod_session* modules to be valid
881      both inside and outside the location/directory sections, as
882      suggested by wrowe. [Graham Leggett]
883
884   *) mod_auth_form: Add a module capable of allowing end users to log
885      in using an HTML form, storing the credentials within mod_session.
886      [Graham Leggett]
887
888   *) Add a function to the http filters that is able to parse an HTML
889      form request with the type of application/x-www-form-urlencoded.
890      [Graham Leggett]
891
892   *) mod_session_crypto: Initialise SSL in the post config hook.
893      [Ruediger Pluem, Graham Leggett]
894
895   *) mod_session_dbd: Add a session implementation capable of storing
896      session information in a SQL database via the dbd interface. Useful
897      for sites where session privacy is important. [Graham Leggett]
898
899   *) mod_session_crypto: Add a session encoding implementation capable
900      of encrypting and decrypting sessions wherever they may be stored.
901      Introduces a level of privacy when sessions are stored on the
902      browser. [Graham Leggett]
903
904   *) mod_session_cookie: Add a session implementation capable of storing
905      session information within cookies on the browser. Useful for high
906      volume sites where server bound sessions are too resource intensive.
907      [Graham Leggett]
908
909   *) mod_session: Add a generic session interface to unify the different
910      attempts at saving persistent sessions across requests.
911      [Graham Leggett]
912
913   *) core, authn/z: Avoid calling access control hooks for internal requests
914      with configurations which match those of initial request.  Revert to
915      original behaviour (call access control hooks for internal requests
916      with URIs different from initial request) if any access control hooks or
917      providers are not registered as permitting this optimization.
918      Introduce wrappers for access control hook and provider registration
919      which can accept additional mode and flag data.  [Chris Darroch]
920
921   *) Introduced ap_expr API for expression evaluation.
922      This is adapted from mod_include, which is the first module
923      to use the new API.
924      [Nick Kew]
925
926   *) mod_authz_dbd: When redirecting after successful login/logout per
927      AuthzDBDRedirectQuery, do not report authorization failure, and use
928      first row returned by database query instead of last row.
929      [Chris Darroch]
930
931   *) mod_ldap: Correctly return all requested attribute values
932      when some attributes have a null value. 
933      PR 44560 [Anders Kaseorg <anders kaseorg.com>]
934
935   *) core: check symlink ownership if both FollowSymlinks and
936      SymlinksIfOwnerMatch are set [Nick Kew]
937
938   *) core: fix origin checking in SymlinksIfOwnerMatch
939      PR 36783 [Robert L Mathews <rob-apache.org.bugs tigertech.net>]
940
941   *) Activate mod_cache, mod_file_cache and mod_disk_cache as part of the
942      'most' set for '--enable-modules' and '--enable-shared-mods'. Include 
943      mod_mem_cache in 'all' as well. [Dirk-Willem van Gulik]
944
945   *) Also install mod_so.h, mod_rewrite.h and mod_cache.h; as these
946      contain public function declarations which are useful for
947      third party module authors. PR 42431 [Dirk-Willem van Gulik].
948
949   *) mod_dir, mod_negotiation: pass the output filter information
950      to newly created sub requests; as these are later on used
951      as true requests with an internal redirect. This allows for
952      mod_cache et.al. to trap the results of the redirect. 
953      [Dirk-Willem van Gulik, Ruediger Pluem]
954
955   *) mod_ldap: Add support (taking advantage of the new APR capability)
956      for ldap rebind callback while chasing referrals. This allows direct
957      searches on LDAP servers (in particular MS Active Directory 2003+)
958      using referrals without the use of the global catalog.
959      PRs 26538, 40268, and 42557 [Paul J. Reder]
960
961   *) mod_ssl: Added server name indication support (SNI, RFC 4366).
962      PR 34607. [Kaspar Brand <asfbugz velox.ch>]. A test configuration
963      can be created with test/make_sni.sh [Dirk-Willem van Gulik].
964
965   *) ApacheMonitor.exe: Introduce --kill argument for use by the
966      installer.  This will permit the installation tool to remove
967      all running instances before attempting to remove the .exe.
968      [William Rowe]
969
970   *) mod_ssl: Add support for OCSP validation of client certificates.
971      PR 41123.  [Marc Stern <marc.stern approach.be>, Joe Orton]
972
973   *) mod_serf: New module for Reverse Proxying. [Paul Querna]
974
975   *) core: Add the option to keep aside a request body up to a certain
976      size that would otherwise be discarded, to be consumed by filters
977      such as mod_include. When enabled for a directory, POST requests
978      to shtml files can be passed through to embedded scripts as POST
979      requests, rather being downgraded to GET requests. [Graham Leggett]
980
981   *) mod_ssl: Fix TLS upgrade (RFC 2817) support.  PR 41231.  [Joe Orton]
982
983   *) scoreboard: Correctly declare ap_time_process_request.
984      PR 43789 [Tom Donovan <Tom.Donovan acm.org>]
985
986   *) core; scoreboard: ap_get_scoreboard_worker(sbh) now takes the sbh member
987      from the connection rec, ap_get_scoreboard_worker(proc, thread) will now
988      provide the unusual legacy lookup.  [William Rowe]
989
990   *) mpm winnt: fix null pointer dereference
991      PR 42572 [Davi Arnaut]
992
993   *) mod_authnz_ldap, mod_authn_dbd: Tidy up the code to expose authn
994      parameters to the environment. Improve portability to
995      EBCDIC machines by using apr_toupper(). [Martin Kraemer]
996
997   *) mod_ldap, mod_authnzldap: Add support for nested groups (i.e. the ability
998      to authorize an authenticated user via a "require ldap-group X" directive
999      where the user is not in group X, but is in a subgroup contained in X.
1000      PR 42891 [Paul J. Reder]
1001
1002   *) mod_ssl: Add support for caching SSL Sessions in memcached. [Paul Querna]
1003
1004   *) mod_ldap: Fix the search limit parameter to ldap_search_ext_s()
1005      for SDKs that define LDAP_NO_LIMIT to something other than -1.
1006      [David Jones <oscaremma gmail.com>]
1007
1008   *) apxs: Enhance -q flag to print all known variables and their values
1009      when invoked without variable name(s). 
1010      [William Rowe, Sander Temme]
1011
1012   *) apxs: Eliminate run-time check for mod_so.  PR 40653.
1013      [David M. Lee <dmlee crossroads.com>]
1014
1015   *) beos MPM: Create pmain pool and run modules' child_init hooks when
1016      entering ap_mpm_run(), then destroy pmain when exiting ap_mpm_run().
1017      [Chris Darroch]
1018
1019   *) netware MPM: Destroy pmain pool when exiting ap_mpm_run() so that
1020      cleanups registered in modules' child_init hooks are performed.
1021      [Chris Darroch]
1022
1023   *) mod_dbd: Stash DBD connections in request_config of initial request
1024      only, or else sub-requests and internal redirections may cause
1025      entire DBD pool to be stashed in a single HTTP request.  [Chris Darroch]
1026
1027   *) Fix issue which could cause error messages to be written to access logs
1028      on Win32.  PR 40476.  [Tom Donovan <Tom.Donovan acm.org>]
1029
1030   *) The LockFile directive, which specifies the location of
1031      the accept() mutex lockfile, is deprecated. Instead, the
1032      AcceptMutex directive now takes an optional lockfile
1033      location parameter, ala SSLMutex. [Jim Jagielski]
1034
1035   *) mod_authn_dbd: Export any additional columns queried in the SQL select
1036      into the environment with the name AUTHENTICATE_<COLUMN>. This brings
1037      mod_authn_dbd behaviour in line with mod_authnz_ldap. [Graham Leggett]
1038
1039   *) mod_dbd: Key the storage of prepared statements on the hex string
1040      value of server_rec, rather than the server name, as the server name
1041      may change (eg when the server name is set) at any time, causing
1042      weird behaviour in modules dependent on mod_dbd. [Graham Leggett]
1043
1044   *) mod_proxy_fcgi: Added win32 build. [Mladen Turk]
1045
1046   *) sendfile_nonblocking() takes the _brigade_ as an argument, gets 
1047      the first bucket from the brigade, finds it not to be a FILE
1048      bucket and barfs. The fix is to pass a bucket rather than a brigade.
1049      [Niklas Edmundsson <nikke acc.umu.se>]
1050
1051   *) mod_rewrite: support rewritemap by SQL query [Nick Kew]
1052
1053   *) ap_get_server_version() has been removed.  Third-party modules must 
1054      now use ap_get_server_banner() or ap_get_server_description().
1055      [Jeff Trawick]
1056
1057   *) All MPMs: Introduce a check_config phase between pre_config and
1058      open_logs, to allow modules to review interdependent configuration
1059      directive values and adjust them while messages can still be logged
1060      to the console.  Handle relevant MPM directives during this phase
1061      and format messages for both the console and the error log, as
1062      appropriate.  [Chris Darroch]
1063
1064   *) mod_proxy: don't URLencode tilde in path component
1065      [Stijn Hoop <stijn sandcat.nl>]
1066
1067   *) mpm_winnt: Fix return values from wait_for_many_objects.
1068      The return value is index to the signaled thread in the
1069      creted_threads array. We can not use WAIT_TIMEOUT because
1070      his value is defined as 258, thus limiting the MaxThreads
1071      to that value. [Mladen Turk]
1072
1073   *) core: Do not allow internal redirects like the DirectoryIndex of mod_dir
1074      to circumvent the symbolic link checks imposed by FollowSymLinks and
1075      SymLinksIfOwnerMatch. [Nick Kew, Ruediger Pluem, William Rowe]
1076
1077   *) New SSLLogLevelDebugDump [ None (default) | IO (not bytes) | Bytes ]
1078      configures the I/O Dump of SSL traffic, when LogLevel is set to Debug.
1079      The default is none as this is far greater debugging resolution than 
1080      the typical administrator is prepared to untangle.  [William Rowe]
1081
1082   *) mod_disk_cache: If possible, check if the size of an object to cache is
1083      within the configured boundaries before actually saving data.
1084      [Niklas Edmundsson <nikke acc.umu.se>]
1085
1086   *) mod_disk_cache: Delete temporary files if they cannot be renamed to their
1087      final name. [Davi Arnaut <davi haxent.com.br>]
1088
1089   *) Worker and event MPMs: Remove improper scoreboard updates which were
1090      performed in the event of a fork() failure.  [Chris Darroch]
1091
1092   *) Add support for fcgi:// proxies to mod_rewrite.
1093      [Markus Schiegl <ms schiegl.com>]
1094
1095   *) Remove incorrect comments from scoreboard.h regarding conditional
1096      loading of worker_score structure with mod_status, and remove unused
1097      definitions relating to old life_status field.
1098      [Chris Darroch <chrisd pearsoncmg.com>]
1099
1100   *) Remove allocation of memory for unused array of lb_score pointers
1101      in ap_init_scoreboard().  [Chris Darroch <chrisd pearsoncmg.com>]
1102
1103   *) Add mod_proxy_fcgi, a FastCGI back end for mod_proxy.
1104      [Garrett Rooney, Jim Jagielski, Paul Querna]
1105
1106   *) Event MPM: Fill in the scoreboard's tid field. PR 38736.
1107      [Chris Darroch <chrisd pearsoncmg.com>]
1108
1109   *) mod_charset_lite: Remove Content-Length when output filter can 
1110      invalidate it.  Warn when input filter can invalidate it.
1111      [Jeff Trawick]
1112
1113   *) Authz: Add the new module mod_authn_core that will provide common
1114      authn directives such as 'AuthType', 'AuthName'.  Move the directives
1115      'AuthType' and 'AuthName' out of the core module and merge mod_authz_alias 
1116      into mod_authn_core. [Brad Nicholes]
1117
1118   *) Authz: Move the directives 'Order', 'Allow', 'Deny' and 'Satisfy' 
1119      into the new module mod_access_compat which can be loaded to provide 
1120      support for these directives.
1121      [Brad Nicholes]
1122
1123   *) Authz: Move the 'Require' directive from the core module as well as 
1124      add the directives '<SatisfyAll>', '<SatisfyOne>', '<RequireAlias>' 
1125      and 'Reject' to mod_authz_core. The new directives introduce 'AND/OR' 
1126      logic into the authorization processing. [Brad Nicholes]
1127
1128   *) Authz: Add the new module mod_authz_core which acts as the 
1129      authorization provider vector and contains common authz 
1130      directives. [Brad Nicholes]
1131
1132   *) Authz: Renamed mod_authz_dbm authz providers from 'group' and 
1133      'file-group' to 'dbm-group' and 'dbm-file-group'. [Brad Nicholes]
1134
1135   *) Authz: Added the new authz providers 'env', 'ip', 'host', 'all' to handle
1136      host-based access control provided by mod_authz_host and invoked 
1137      through the 'Require' directive. [Brad Nicholes]
1138
1139   *) Authz: Convert all of the authz modules from hook based to 
1140      provider based. [Brad Nicholes]
1141
1142   *) mod_cache: Add CacheMinExpire directive to set the minimum time in
1143      seconds to cache a document.
1144      [Brian Akins <brian.akins turner.com>, Ruediger Pluem]
1145
1146   *) mod_authz_dbd: SQL authz with Login/Session support [Nick Kew]
1147
1148   *) Fix typo in ProxyStatus syntax error message.
1149      [Christophe Jaillet <christophe.jaillet wanadoo.fr>]
1150
1151   *) Asynchronous write completion for the Event MPM.  [Brian Pane]
1152
1153   *) Added an End-Of-Request bucket type.  The logging of a request and
1154      the freeing of its pool are now done when the EOR bucket is destroyed.
1155      This has the effect of delaying the logging until right after the last
1156      of the response is sent; ap_core_output_filter() calls the access logger
1157      indirectly when it destroys the EOR bucket.  [Brian Pane]
1158
1159   *) Rewrite of logresolve support utility: IPv6 addresses are now supported
1160      and the format of statistical output has changed. [Colm MacCarthaigh]
1161
1162   *) Rewrite of ap_coreoutput_filter to do nonblocking writes  [Brian Pane]
1163
1164   *) Added new connection states for handler and write completion
1165      [Brian Pane]
1166
1167   *) mod_cgid: Refuse to work on Solaris 10 due to OS bugs.  PR 34264.
1168      [Justin Erenkrantz]
1169
1170   *) Teach mod_ssl to use arbitrary OIDs in an SSLRequire directive,
1171      allowing string-valued client certificate attributes to be used for
1172      access control, as in: SSLRequire "value" in OID("1.3.6.1.4.1.18060.1")
1173      [Martin Kraemer, David Reid]
1174
1175   [Apache 2.1.0-dev includes those bug fixes and changes with the
1176    Apache 2.2.xx tree as documented, and except as noted, below.]
1177
1178 Changes with Apache 2.2.x and later:
1179
1180   *) http://svn.apache.org/viewvc/httpd/httpd/branches/2.2.x/CHANGES?view=markup
1181
1182 Changes with Apache 2.0.x and later:
1183
1184   *) http://svn.apache.org/viewvc/httpd/httpd/branches/2.0.x/CHANGES?view=markup
1185
1186 Changes with Apache 1.3.x and later:
1187
1188   *) http://svn.apache.org/viewvc/httpd/httpd/branches/1.3.x/src/CHANGES?view=markup
1189
1190