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