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