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