]> granicus.if.org Git - apache/blob - CHANGES
The FAQ isn't here any more.
[apache] / CHANGES
1                                                          -*- coding: utf-8 -*-
2
3 Changes with Apache 2.3.10
4
5   *) core: Honor 'AcceptPathInfo OFF' during internal redirects,
6      such as per-directory mod_rewrite substitutions.  PR 50349.
7      [Eric Covener]
8
9   *) mod_rewrite: Add 'RewriteOptions InheritBefore' to put the base 
10      rules/conditions before the overridden rules/conditions.  PR 39313.
11      [Jérôme Grandjanny <jerome.grandjanny cea.fr>]
12
13   *) mod_autoindex: add IndexIgnoreReset to reset the list of IndexIgnored
14      filenames in higher precedence configuration sections.  PR 24243.
15      [Eric Covener]
16
17   *) mod_cgid: RLimit* directive support for mod_cgid.  PR 42135
18      [Eric Covener]
19
20   *) core: Fail startup when the argument to ServerName looks like a glob
21      or a regular expression instead of a hostname (*?[]).  PR 39863 
22      [Rahul Nair <rahul.g.nair gmail.com>]
23
24   *) mod_userdir: Add merging of enable, disable, and filename arguments 
25      to UserDir directive, leaving enable/disable of userlists unmerged. 
26      PR 44076 [Eric Covener]
27
28   *) httpd: When no -k option is provided on the httpd command line, the server
29      was starting without checking for an existing pidfile.  PR 50350 
30      [Eric Covener] 
31  
32   *) mod_proxy: Put the worker in error state if the SSL handshake with the
33      backend fails. PR 50332.
34      [Daniel Ruggeri <DRuggeri primary.net>, Ruediger Pluem]
35
36   *) mod_cache_disk: Fix Windows build which was broken after renaming
37      the module. [Gregg L. Smith]
38
39 Changes with Apache 2.3.9
40
41   *) SECURITY: CVE-2010-1623 (cve.mitre.org)
42      Fix a denial of service attack against mod_reqtimeout.
43      [Stefan Fritsch]
44
45   *) mod_include: Add the onerror attribute to the include element,
46      allowing an URL to be specified to include on error. [Graham
47      Leggett]
48
49   *) mod_cache_disk: mod_disk_cache renamed to mod_cache_disk, to be
50      consistent with the naming of other modules. [Graham Leggett]
51
52   *) mod_setenvif: Add SetEnvIfExpr directive to set env var depending on
53      expression. [Stefan Fritsch]
54
55   *) mod_proxy: Fix ProxyPassInterpolateEnv directive. PR 50292.
56      [Stefan Fritsch]
57
58   *) suEXEC: Add Suexec directive to disable suEXEC without renaming the
59      binary (Suexec Off), or force startup failure if suEXEC is required
60      but not supported (Suexec On).  Change SuexecUserGroup to fail 
61      startup instead of just printing a warning if suEXEC is disabled.
62      [Jeff Trawick]
63
64   *) core: Add Error directive for aborting startup or htaccess processing
65      with a specified error message.  [Jeff Trawick]
66
67   *) mod_rewrite: Fix the RewriteEngine directive to work within a
68      location. Previously, once RewriteEngine was switched on globally,
69      it was impossible to switch off. [Graham Leggett]
70
71   *) core, mod_include, mod_ssl: Move the expression parser derived from
72      mod_include back into mod_include. Replace ap_expr with a parser
73      derived from mod_ssl's parser. Make mod_ssl use the new parser. Rework
74      ap_expr's public interface and provide hooks for modules to add variables
75      and functions. [Stefan Fritsch]
76
77   *) core: Do the hook sorting earlier so that the hooks are properly sorted
78      for the pre_config hook and during parsing the config. [Stefan Fritsch] 
79
80   *) core: In the absence of any AllowOverride directives, the default is now
81      "None" instead of "All".  PR49823 [Eric Covener]
82
83   *) mod_proxy: Don't allow ProxyPass or ProxyPassReverse in
84      <Directory> or <Files>. PR47765 [Eric Covener]
85
86   *) prefork/worker/event MPMS: default value (when no directive is present)
87      of MaxConnectionsPerChild/MaxRequestsPerChild is changed to 0 from 10000 
88      to match default configuration and manual. PR47782 [Eric Covener]
89
90   *) proxy_connect: Don't give up in the middle of a CONNECT tunnel
91      when the child process is starting to exit.  PR50220. [Eric Covener]
92
93   *) mod_autoindex: Fix inheritance of mod_autoindex directives into 
94      contexts that don't have any mod_autoindex directives. PR47766.
95      [Eric Covener]
96
97   *) mod_rewrite: Add END flag for RewriteRule to prevent further rounds
98      of rewrite processing when a per-directory substitution occurs.
99      [Eric Covener]
100
101   *) mod_ssl: Make sure to always log an error if loading of CA certificates
102      fails. PR 40312. [Paul Tiemann <issues apache org ourdetour com>]
103
104   *) mod_dav: Send 501 error if unknown Content-* header is received for a PUT
105      request (RFC 2616 9.6). PR 42978. [Stefan Fritsch]
106
107   *) mod_dav: Send 400 error if malformed Content-Range header is received for
108      a put request (RFC 2616 14.16). PR 49825. [Stefan Fritsch]
109
110   *) mod_proxy: Release the backend connection as soon as EOS is detected,
111      so the backend isn't forced to wait for the client to eventually
112      acknowledge the data. [Graham Leggett]
113
114   *) mod_proxy: Optimise ProxyPass within a Location so that it is stored
115      per-directory, and chosen during the location walk. Make ProxyPass
116      work correctly from within a LocationMatch. [Graham Leggett]
117
118   *) core: Fix segfault if per-module LogLevel is on virtual host
119      scope. PR 50117. [Stefan Fritsch]
120
121   *) mod_proxy: Move the ProxyErrorOverride directive to have per
122      directory scope. [Graham Leggett]
123
124   *) mod_allowmethods: New module to deny certain HTTP methods without
125      interfering with authentication/authorization. [Paul Querna,
126      Igor Galić, Stefan Fritsch]
127
128   *) mod_ssl: Log certificate information and improve error message if client
129      cert verification fails. PR 50093, PR 50094. [Lassi Tuura <lat cern ch>,
130      Stefan Fritsch]
131
132   *) htcacheclean: Teach htcacheclean to limit cache size by number of
133      inodes in addition to size of files. Prevents a cache disk from
134      running out of space when many small files are cached.
135      [Graham Leggett]
136
137   *) core: Rename MaxRequestsPerChild to MaxConnectionsPerChild, which
138      describes more accurately what the directive does. The old name
139      still works but logs a warning. [Stefan Fritsch]
140
141   *) mod_cache: Optionally serve stale data when a revalidation returns a
142      5xx response, controlled by the CacheStaleOnError directive.
143      [Graham Leggett]
144
145   *) htcacheclean: Allow the listing of valid URLs within the cache, with
146      the option to list entry metadata such as sizes and times. [Graham
147      Leggett]
148
149   *) mod_cache: correctly parse quoted strings in cache headers.
150      PR 50199 [Nick Kew]
151
152   *) mod_cache: Allow control over the base URL of reverse proxied requests
153      using the CacheKeyBaseURL directive, so that the cache key can be
154      calculated from the endpoint URL instead of the server URL. [Graham
155      Leggett]
156
157   *) mod_cache: CacheLastModifiedFactor, CacheStoreNoStore, CacheStorePrivate,
158      CacheStoreExpired, CacheIgnoreNoLastMod, CacheDefaultExpire,
159      CacheMinExpire and CacheMaxExpire can be set per directory/location.
160      [Graham Leggett]
161
162   *) mod_disk_cache: CacheMaxFileSize, CacheMinFileSize, CacheReadSize and
163      CacheReadTime can be set per directory/location. [Graham Leggett]
164
165   *) core: Speed up config parsing if using a very large number of config
166      files. PR 50002 [andrew cloudaccess net]
167
168   *) mod_cache: Support the caching of HEAD requests. [Graham Leggett]
169
170   *) htcacheclean: Allow the option to round up file sizes to a given
171      block size, improving the accuracy of disk usage. [Graham Leggett]
172
173   *) mod_ssl: Add authz providers for use with mod_authz_core and its
174      RequireAny/RequireAll containers: 'ssl' (equivalent to SSLRequireSSL),
175      'ssl-verify-client' (for use with 'SSLVerifyClient optional'), and
176      'ssl-require' (expressions with same syntax as SSLRequire).
177      [Stefan Fritsch]
178
179   *) mod_ssl: Make the ssl expression parser thread-safe. It now requires
180      bison instead of yacc. [Stefan Fritsch]
181
182   *) mod_disk_cache: Change on-disk header file format to support the
183      link of the device/inode of the data file to the matching header
184      file, and to support the option of not writing a data file when
185      the data file is empty. [Graham Leggett]
186
187   *) core/mod_unique_id: Add generate_log_id hook to allow to use
188      the ID generated by mod_unique_id as error log ID for requests.
189      [Stefan Fritsch]
190
191   *) mod_cache: Make sure that we never allow a 304 Not Modified response
192      that we asked for to leak to the client should the 304 response be
193      uncacheable. PR45341 [Graham Leggett]
194
195   *) mod_cache: Add the cache_status hook to register the final cache
196      decision hit/miss/revalidate. Add optional support for an X-Cache
197      and/or an X-Cache-Detail header to add the cache status to the
198      response. PR48241 [Graham Leggett]
199
200   *) mod_authz_host: Add 'local' provider that matches connections originating
201      on the local host. PR 19938. [Stefan Fritsch]
202
203   *) Event MPM: Fix crash accessing pollset on worker thread when child
204      process is exiting.  [Jeff Trawick]
205
206   *) core: For process invocation (cgi, fcgid, piped loggers and so forth)
207      pass the system library path (LD_LIBRARY_PATH or platform-specific
208      variables) along with the system PATH, by default.  Both should be 
209      overridden together as desired using PassEnv etc; see mod_env.
210      [William Rowe]
211
212   *) mod_cache: Introduce CacheStoreExpired, to allow administrators to
213      capture a stale backend response, perform If-Modified-Since requests
214      against the backend, and serving from the cache all 304 responses.
215      This restores pre-2.2.4 cache behavior.  [William Rowe]
216
217   *) mod_rewrite: Introduce <=, >= string comparison operators, and integer
218      comparators -lt, -le, -eq, -ge, and -gt.  To help bash users and drop
219      the ambiguity of the symlink test "-ltest", introduce -h or -L as
220      symlink test operators.  [William Rowe]
221
222   *) mod_cache: Give the cache provider the opportunity to choose to cache
223      or not cache based on the buckets present in the brigade, such as the
224      presence of a FILE bucket.
225      [Graham Leggett]
226
227   *) mod_authz_core: Allow authz providers to check args while reading the
228      config and allow to cache parsed args. Move 'all' and 'env' authz
229      providers from mod_authz_host to mod_authz_core. Add 'method' authz
230      provider depending on the HTTP method.  [Stefan Fritsch]
231
232   *) mod_include: Move the request_rec within mod_include to be
233      exposed within include_ctx_t. [Graham Leggett]
234
235   *) mod_include: Reinstate support for UTF-8 character sets by allowing a
236      variable being echoed or set to be decoded and then encoded as separate
237      steps. PR47686 [Graham Leggett]
238
239   *) mod_cache: Add a discrete commit_entity() provider function within the
240      mod_cache provider interface which is called to indicate to the
241      provider that caching is complete, giving the provider the opportunity
242      to commit temporary files permanently to the cache in an atomic
243      fashion. Replace the inconsistent use of error cleanups with a formal
244      set of pool cleanups attached to a subpool, which is destroyed on error.
245      [Graham Leggett]
246
247   *) mod_cache: Change the signature of the store_body() provider function
248      within the mod_cache provider interface to support an "in" brigade
249      and an "out" brigade instead of just a single input brigade. This
250      gives a cache provider the option to consume only part of the brigade
251      passed to it, rather than the whole brigade as was required before.
252      This fixes an out of memory and a request timeout condition that would
253      occur when the original document was a large file. Introduce
254      CacheReadSize and CacheReadTime directives to mod_disk_cache to control
255      the amount of data to attempt to cache at a time. [Graham Leggett]
256
257   *) core: Add ErrorLogFormat to allow configuring error log format, including
258      additional information that is logged once per connection or request. Add
259      error log IDs for connections and request to allow correlating error log
260      lines and the corresponding access log entry. [Stefan Fritsch]
261
262   *) core: Disable sendfile by default. [Stefan Fritsch]
263
264   *) mod_cache: Check the request to determine whether we are allowed
265      to return cached content at all, and respect a "Cache-Control:
266      no-cache" header from a client. Previously, "no-cache" would
267      behave like "max-age=0". [Graham Leggett]
268
269   *) mod_cache: Use a proper filter context to hold filter data instead
270      of misusing the per-request configuration. Fixes a segfault on trunk
271      when the normal handler is used. [Graham Leggett]
272
273   *) mod_cgid: Log a warning if the ScriptSock path is truncated because
274      it is too long. PR 49388.  [Stefan Fritsch]
275
276   *) vhosts: Do not allow _default_ in NameVirtualHost, or mixing *
277      and non-* ports on NameVirtualHost, or multiple NameVirtualHost
278      directives for the same address:port, or NameVirtualHost
279      directives with no matching VirtualHosts, or multiple ip-based
280      VirtualHost sections for the same address:port.  These were
281      previously accepted with a warning, but the behavior was
282      undefined.  [Dan Poirier]
283
284   *) mod_remoteip: Fix a segfault when using mod_remoteip in conjunction with
285      Allow/Deny. PR 49838.  [Andrew Skalski <voltara gmail.com>]
286
287   *) core: DirectoryMatch can now match on the end of line character ($),
288      and sub-directories of matched directories are no longer implicitly
289      matched.  PR49809 [Eric Covener]
290
291   *) Regexps: introduce new higher-level regexp utility including parsing
292      and executing perl-style regexp ops (e.g s/foo/bar/i) and regexp memory
293      [Nick Kew]
294
295   *) Proxy: support setting source address.  PR 29404
296      [Multiple contributors iterating through bugzilla,
297       Aron Ujvari <xanco nikhok.hu>, Aleksey Midenkov <asm uezku.kemsu.ru>,
298       <dan listening-station.net; trunk version Nick Kew]
299
300   *) HTTP protocol: return 400 not 503 if we have to abort due to malformed
301      chunked encoding. [Nick Kew]
302
303 Changes with Apache 2.3.8
304
305   *) suexec: Support large log files. PR 45856. [Stefan Fritsch]
306
307   *) core: Abort with sensible error message if no or more than one MPM is
308      loaded. [Stefan Fritsch]
309
310   *) mod_proxy: Rename erroronstatus to failonstatus.
311      [Daniel Ruggeri <DRuggeri primary.net>]
312
313   *) mod_dav_fs: Fix broken "creationdate" property.
314      Regression in version 2.3.7. [Rainer Jung]
315
316 Changes with Apache 2.3.7
317
318   *) SECURITY: CVE-2010-1452 (cve.mitre.org)
319      mod_dav, mod_cache, mod_session: Fix Handling of requests without a path 
320      segment. PR: 49246 [Mark Drayton, Jeff Trawick]
321
322   *) mod_ldap: Properly check the result returned by apr_ldap_init. PR 46076.
323      [Stefan Fritsch]
324
325   *) mod_rewrite: Log errors if rewrite map files cannot be opened. PR 49639.
326      [Stefan Fritsch]
327
328   *) mod_proxy_http: Support the 'ping' property for backend HTTP/1.1 servers
329      via leveraging 100-Continue as the initial "request".
330      [Jim Jagielski]
331
332   *) core/mod_authz_core: Introduce new access_checker_ex hook that enables
333      mod_authz_core to bypass authentication if access should be allowed by
334      IP address/env var/... [Stefan Fritsch]
335  
336   *) core: Introduce note_auth_failure hook to allow modules to add support
337      for additional auth types. This makes ap_note_auth_failure() work with
338      mod_auth_digest again. PR 48807. [Stefan Fritsch]
339
340   *) socache modules: return APR_NOTFOUND when a lookup is not found [Nick Kew]
341
342   *) mod_authn_cache: new module [Nick Kew]
343
344   *) configure: Add reallyall option for --enable-mods-shared. [Stefan Fritsch]
345
346   *) Fix Windows build when using VC6. [Gregg L. Smith <lists glewis com>]
347
348   *) mod_rewrite: Allow to set environment variables without explicitly
349      giving a value. [Rainer Jung]
350
351   *) mod_rewrite: Remove superfluous EOL from rewrite logging. [Rainer Jung]
352
353   *) mod_include: recognise "text/html; parameters" as text/html
354      PR 49616 [Andrey Chernov <ache nagual.pp.ru>]
355
356   *) CGI vars: allow PATH to be set by SetEnv, consistent with LD_LIBRARY_PATH
357      PR 43906 [Nick Kew]
358
359   *) Core: Extra robustness: don't try authz and segfault if authn
360      fails to set r->user.  Log bug and return 500 instead.
361      PR 42995 [Nick Kew]
362
363   *) HTTP protocol filter: fix handling of longer chunk extensions
364      PR 49474 [<tee.bee gmx.de>]
365
366   *) Update SSL cipher suite and add example for SSLHonorCipherOrder.
367      [Lars Eilebrecht, Rainer Jung]
368
369   *) move AddOutputFilterByType from core to mod_filter.  This should
370      fix nasty side-effects that happen when content_type is set
371      more than once in processing a request, and make it fully
372      compatible with dynamic and proxied contents. [Nick Kew]
373
374   *) mod_log_config: Implement logging for sub second timestamps and
375      request end time.  [Rainer Jung]
376
377 Changes with Apache 2.3.6
378
379   *) SECURITY: CVE-2009-3555 (cve.mitre.org)
380      mod_ssl: Comprehensive fix of the TLS renegotiation prefix injection
381      attack when compiled against OpenSSL version 0.9.8m or later. Introduces
382      the 'SSLInsecureRenegotiation' directive to reopen this vulnerability
383      and offer unsafe legacy renegotiation with clients which do not yet
384      support the new secure renegotiation protocol, RFC 5746.
385      [Joe Orton, and with thanks to the OpenSSL Team]
386
387   *) SECURITY: CVE-2009-3555 (cve.mitre.org)
388      mod_ssl: A partial fix for the TLS renegotiation prefix injection attack
389      by rejecting any client-initiated renegotiations. Forcibly disable
390      keepalive for the connection if there is any buffered data readable. Any
391      configuration which requires renegotiation for per-directory/location
392      access control is still vulnerable, unless using OpenSSL >= 0.9.8l.
393      [Joe Orton, Ruediger Pluem, Hartmut Keil <Hartmut.Keil adnovum.ch>]
394
395   *) SECURITY: CVE-2010-0408 (cve.mitre.org)
396      mod_proxy_ajp: Respond with HTTP_BAD_REQUEST when the body is not sent
397      when request headers indicate a request body is incoming; not a case of
398      HTTP_INTERNAL_SERVER_ERROR.  [Niku Toivola <niku.toivola sulake.com>]
399
400   *) SECURITY: CVE-2010-0425 (cve.mitre.org)
401      mod_isapi: Do not unload an isapi .dll module until the request
402      processing is completed, avoiding orphaned callback pointers.
403      [Brett Gervasoni <brettg senseofsecurity.com>, Jeff Trawick]
404
405   *) core: Filter init functions are now run strictly once per request
406      before handler invocation.  The init functions are no longer run
407      for connection filters.  PR 49328.  [Joe Orton]
408
409   *) core: Adjust the output filter chain correctly in an internal
410      redirect from a subrequest, preserving filters from the main
411      request as necessary.  PR 17629.  [Joe Orton]
412
413   *) mod_cache: Explicitly allow cache implementations to cache a 206 Partial
414      Response if they so choose to do so. Previously an attempt to cache a 206
415      was arbitrarily allowed if the response contained an Expires or
416      Cache-Control header, and arbitrarily denied if both headers were missing.
417      [Graham Leggett]
418
419   *) core: Add microsecond timestamp fractions, process id and thread id
420      to the error log. [Rainer Jung]
421
422   *) configure: The "most" module set gets build by default.  [Rainer Jung]
423
424   *) configure: Building dynamic modules (DSO) by default.  [Rainer Jung]
425
426   *) configure: Fix broken VPATH build when using included APR.
427      [Rainer Jung]
428
429   *) mod_session_crypto: Fix configure problem when building
430      with APR 2 and for VPATH builds with included APR.
431      [Rainer Jung]
432
433   *) mod_session_crypto: API compatibility with APR 2 crypto and
434      APR Util 1.x crypto. [Rainer Jung]
435
436   *) ab: Fix memory leak with -v2 and SSL. PR 49383.
437      [Pavel Kankovsky <peak argo troja mff cuni cz>]
438
439   *) core: Add per-module and per-directory loglevel configuration.
440            Add some more trace logging.
441      mod_rewrite: Replace RewriteLog/RewriteLogLevel with trace log levels.
442      mod_ssl: Replace LogLevelDebugDump with trace log levels.
443      mod_ssl/mod_proxy*: Adjust loglevels to be less verbose at levels info
444            and debug.
445      mod_dumpio:  Replace DumpIOLogLevel with trace log levels.
446      [Stefan Fritsch]
447
448   *) mod_ldap: LDAP caching was suppressed (and ldap-status handler returns 
449      title page only) when any mod_ldap directives were used in VirtualHost 
450      context.  [Eric Covener]
451
452   *) mod_disk_cache: Decline the opportunity to cache if the response is
453      a 206 Partial Content. This stops a reverse proxied partial response
454      from becoming cached, and then being served in subsequent responses.
455      [Graham Leggett]
456
457   *) mod_deflate: avoid the risk of forwarding data before headers are set.
458      PR 49369 [Matthew Steele <mdsteele google.com>]
459
460   *) mod_authnz_ldap: Ensure nested groups are checked when the 
461      top-level group doesn't have any direct non-group members
462      of attributes in AuthLDAPGroupAttribute. [Eric Covener]
463
464   *) mod_authnz_ldap: Search or Comparison during authorization phase
465      can use the credentials from the authentication phase
466      (AuthLDAPSearchAsUSer,AuthLDAPCompareAsUser).
467      PR 48340 [Domenico Rotiroti, Eric Covener]
468
469   *) mod_authnz_ldap: Allow the initial DN search during authentication
470      to use the HTTP username/pass instead of an anonymous or hard-coded
471      LDAP id (AuthLDAPInitialBindAsUser, AuthLDAPInitialBindPattern).  
472      [Eric Covener]
473
474   *) mod_authnz_ldap: Publish requested LDAP data with an AUTHORIZE_ prefix
475      when this module is used for authorization. See AuthLDAPAuthorizePrefix.
476      PR 45584 [Eric Covener]
477
478   *) apxs -q: Stop filtering out ':' characters from the reported values.
479      PR 45343.  [Bill Cole]
480
481   *) prefork MPM: Work around possible crashes on child exit in APR reslist
482      cleanup code.  PR 43857.  [Tom Donovan]
483
484   *) ab: fix number of requests sent by ab when keepalive is enabled.  PR 48497.
485      [Bryn Dole <dole blekko.com>]
486
487   *) Log an error for failures to read a chunk-size, and return 408 instead of
488      413 when this is due to a read timeout.  This change also fixes some cases 
489      of two error documents being sent in the response for the same scenario. 
490      [Eric Covener] PR49167
491
492   *) mod_proxy_balancer: Add new directive BalancerNonce to allow admin
493      to control/set the nonce used in the balancer-manager application.
494      [Jim Jagielski]
495
496   *) mod_proxy_connect: Support port ranges in AllowConnect. PR 23673.
497      [Stefan Fritsch]
498
499   *) Proxy balancer: support setting error status according to HTTP response
500      code from a backend.  PR 48939.  [Daniel Ruggeri <DRuggeri primary.net>]
501
502   *) htcacheclean: Introduce the ability to clean specific URLs from the
503      cache, if provided as an optional parameter on the command line.
504      [Graham Leggett]
505
506   *) core: Introduce the IncludeStrict directive, which explicitly fails
507      server startup if no files or directories match a wildcard path.
508      [Graham Leggett]
509
510   *) htcacheclean: Report additional statistics about entries deleted.
511      PR 48944. [Mark Drayton mark markdrayton.info]
512
513   *) Introduce SSLFIPS directive to support OpenSSL FIPS_mode; permits all
514      builds of mod_ssl to use 'SSLFIPS off' for portability, but the proper
515      build of openssl is required for 'SSLFIPS on'.  PR 46270.
516      [Dr Stephen Henson <steve openssl.org>, William Rowe]
517
518   *) mod_proxy_http: Log the port of the remote server in various messages.
519      PR 48812. [Igor Galić <i galic brainsware org>] 
520
521   *) mod_reqtimeout: Do not wrongly enforce timeouts for mod_proxy's backend
522      connections and other protocol handlers (like mod_ftp). [Stefan Fritsch]
523
524   *) mod_proxy_ajp: Really regard the operation a success, when the client
525      aborted the connection. In addition adjust the log message if the client
526      aborted the connection. [Ruediger Pluem]
527
528   *) mod_ssl: Add the 'SSLInsecureRenegotiation' directive, which
529      allows insecure renegotiation with clients which do not yet
530      support the secure renegotiation protocol.  [Joe Orton]
531
532   *) mod_ssl: Fix a potential I/O hang if a long list of trusted CAs
533      is configured for client cert auth. PR 46952.  [Joe Orton]
534
535   *) core: Only log a 408 if it is no keepalive timeout. PR 39785
536      [Ruediger Pluem,  Mark Montague <markmont umich.edu>]
537
538   *) support/rotatelogs: Add -L option to create a link to the current
539      log file.  PR 48761 [<lyndon orthanc.ca>, Dan Poirier]
540
541   *) mod_ldap: Update LDAPTrustedClientCert to consistently be a per-directory
542      setting only, matching most of the documentation and examples. 
543      PR 46541 [Paul Reder, Eric Covener] 
544
545   *) mod_ldap: LDAPTrustedClientCert now accepts CA_DER/CA_BASE64 argument 
546      types previously allowed only in LDAPTrustedGlobalCert. [Eric Covener]
547
548   *) mod_negotiation: Preserve query string over multiviews negotiation.
549      This buglet was fixed for type maps in 2.2.6, but the same issue
550      affected multiviews and was overlooked.
551      PR 33112 [Joergen Thomsen <apache jth.net>]
552
553   *) mod_ldap: Eliminate a potential crash with multiple LDAPTrustedClientCert
554      when some are not password-protected. [Eric Covener]
555
556   *) Fix startup segfault when the Mutex directive is used but no loaded 
557      modules use httpd mutexes.  PR 48787.  [Jeff Trawick]
558
559   *) Proxy: get the headers right in a HEAD request with
560      ProxyErrorOverride, by checking for an overridden error
561      before not after going into a catch-all code path.
562      PR 41646.  [Nick Kew, Stuart Children]
563
564   *) support/rotatelogs: Support the simplest log rotation case, log
565      truncation. Useful when the log is being processed in real time
566      using a command like tail. [Graham Leggett]
567
568   *) support/htcacheclean: Teach it how to write a pid file (modelled on
569      httpd's writing of a pid file) so that it becomes possible to run
570      more than one instance of htcacheclean on the same machine.
571      [Graham Leggett]
572
573   *) Log command line on startup, so there's a record of command line
574      arguments like -f.  PR 48752.  [Dan Poirier]
575
576   *) Introduce mod_reflector, a handler capable of reflecting POSTed
577      request bodies back within the response through the output filter
578      stack. Can be used to turn an output filter into a web service.
579      [Graham Leggett]
580
581   *) mod_proxy_http: Make sure that when an ErrorDocument is served
582      from a reverse proxied URL, that the subrequest respects the status
583      of the original request. This brings the behaviour of proxy_handler
584      in line with default_handler. PR 47106. [Graham Leggett]
585
586   *) Support wildcards in both the directory and file components of
587      the path specified by the Include directive. [Graham Leggett]
588
589   *) mod_proxy, mod_proxy_http: Support remote https proxies
590      by using HTTP CONNECT.  PR 19188.  
591      [Philippe Dutrueux <lilas evidian.com>, Rainer Jung]
592
593   *) apxs: Fix -A and -a options to ignore whitespace in httpd.conf
594      [Philip M. Gollucci]
595
596   *) worker: Don't report server has reached MaxClients until it has.
597      Add message when server gets within MinSpareThreads of MaxClients.
598      PR 46996.  [Dan Poirier]
599
600   *) mod_session: Session expiry was being initialised, but not updated
601      on each session save, resulting in timed out sessions when there
602      should not have been. Fixed. [Graham Leggett]
603
604   *) mod_log_config: Add the R option to log the handler used within the
605      request. [Christian Folini <christian.folini netnea com>]
606
607   *) mod_include: Allow fine control over the removal of Last-Modified and
608      ETag headers within the INCLUDES filter, making it possible to cache
609      responses if desired. Fix the default value of the SSIAccessEnable
610      directive.  [Graham Leggett]
611
612   *) Add new UnDefine directive to undefine a variable. PR 35350.
613      [Stefan Fritsch]
614
615   *) Make ap_pregsub(), used by AliasMatch and friends, use the same syntax
616      for regex backreferences as mod_rewrite and mod_include: Remove the use
617      of '&' as an alias for '$0' and allow to escape any character with a
618      backslash. PR 48351. [Stefan Fritsch]
619
620   *) mod_authnz_ldap: If AuthLDAPCharsetConfig is set, also convert the
621      password to UTF-8. PR 45318.
622      [Johannes Müller <joh_m gmx.de>, Stefan Fritsch]
623
624   *) ab: Fix calculation of requests per second in HTML output. PR 48594.
625      [Stefan Fritsch]
626
627   *) mod_authnz_ldap: Failures to map a username to a DN, or to check a user
628      password now result in an informational level log entry instead of 
629      warning level.  [Eric Covener]
630
631 Changes with Apache 2.3.5
632
633   *) SECURITY: CVE-2010-0434 (cve.mitre.org)
634      Ensure each subrequest has a shallow copy of headers_in so that the
635      parent request headers are not corrupted.  Eliminates a problematic
636      optimization in the case of no request body.  PR 48359 
637      [Jake Scott, William Rowe, Ruediger Pluem]
638
639   *) Turn static function get_server_name_for_url() into public
640      ap_get_server_name_for_url() and use it where appropriate. This
641      fixes mod_rewrite generating invalid URLs for redirects to IPv6
642      literal addresses. [Stefan Fritsch]
643
644   *) mod_ldap: Introduce new config option LDAPTimeout to set the timeout
645      for LDAP operations like bind and search. [Stefan Fritsch]
646
647   *) mod_proxy, mod_proxy_ftp: Move ProxyFtpDirCharset from mod_proxy to
648      mod_proxy_ftp. [Takashi Sato]
649
650   *) mod_proxy, mod_proxy_connect: Move AllowCONNECT from mod_proxy to
651      mod_proxy_connect. [Takashi Sato]
652
653   *) mod_cache: Do an exact match of the keys defined by
654      CacheIgnoreURLSessionIdentifiers against the querystring instead of
655      a partial match.  PR 48401.
656      [Dodou Wang <wangdong.08 gmail.com>, Ruediger Pluem]
657
658   *) mod_proxy_balancer: Fix crash in balancer-manager. [Rainer Jung]
659
660   *) Core HTTP: disable keepalive when the Client has sent
661      Expect: 100-continue
662      but we respond directly with a non-100 response.
663      Keepalive here led to data from clients continuing being treated as
664      a new request.
665      PR 47087 [Nick Kew]
666
667   *) Core: reject NULLs in request line or request headers.
668      PR 43039 [Nick Kew]
669
670   *) Core: (re)-introduce -T commandline option to suppress documentroot
671      check at startup.
672      PR 41887 [Jan van den Berg <janvdberg gmail.com>]
673
674   *) mod_autoindex: support XHTML as equivalent to HTML in IndexOptions,
675                     ScanHTMLTitles, ReadmeName, HeaderName
676      PR 48416 [Dmitry Bakshaev <dab18 izhnet.ru>, Nick Kew]
677
678   *) Proxy: Fix ProxyPassReverse with relative URL
679      Derived (slightly erroneously) from PR 38864 [Nick Kew]
680
681   *) mod_headers: align Header Edit with Header Set when used on Content-Type
682      PR 48422 [Cyril Bonté <cyril.bonte free.fr>, Nick Kew>]
683
684   *) mod_headers: Enable multi-match-and-replace edit option
685      PR 46594 [Nick Kew]
686
687   *) mod_filter: enable it to act on non-200 responses.
688      PR 48377 [Nick Kew]
689
690 Changes with Apache 2.3.4
691
692   *) Replace AcceptMutex, LockFile, RewriteLock, SSLMutex, SSLStaplingMutex,
693      and WatchdogMutexPath with a single Mutex directive.  Add APIs to
694      simplify setup and user customization of APR proc and global mutexes.  
695      (See util_mutex.h.)  Build-time setting DEFAULT_LOCKFILE is no longer
696      respected; set DEFAULT_REL_RUNTIMEDIR instead.  [Jeff Trawick]
697
698   *) http_core: KeepAlive no longer accepts other than On|Off.
699      [Takashi Sato]
700
701   *) mod_dav: Remove errno from dav_error interface.  Calls to dav_new_error()
702      and dav_new_error_tag() must be adjusted to add an apr_status_t parameter.
703      [Jeff Trawick]
704
705   *) mod_authnz_ldap: Add AuthLDAPBindAuthoritative to allow Authentication to
706      try other providers in the case of an LDAP bind failure.
707      PR 46608 [Justin Erenkrantz, Joe Schaefer, Tony Stevenson]
708
709   *) Build: fix --with-module to work as documented
710      PR 43881 [Gez Saunders <gez.saunders virgin.net>]
711
712 Changes with Apache 2.3.3
713
714   *) SECURITY: CVE-2009-3095 (cve.mitre.org)
715      mod_proxy_ftp: sanity check authn credentials.
716      [Stefan Fritsch <sf fritsch.de>, Joe Orton]
717
718   *) SECURITY: CVE-2009-3094 (cve.mitre.org)
719      mod_proxy_ftp: NULL pointer dereference on error paths.
720      [Stefan Fritsch <sf fritsch.de>, Joe Orton]
721   *) mod_ssl: enable support for ECC keys and ECDH ciphers.  Tested against
722      OpenSSL 1.0.0b3.  [Vipul Gupta <vipul.gupta sun.com>, Sander Temme]
723
724   *) mod_dav: Include uri when logging a PUT error due to connection abort.
725      PR 38149. [Stefan Fritsch]
726
727   *) mod_dav: Return 409 instead of 500 for a LOCK request if the parent
728      resource does not exist or is not a collection. PR 43465. [Stefan Fritsch]
729
730   *) mod_dav_fs: Return 409 instead of 500 for Litmus test case copy_nodestcoll
731      (a COPY request where the parent of the destination resource does not
732      exist). PR 39299. [Stefan Fritsch]
733
734   *) mod_dav_fs: Don't delete the whole file if a PUT with content-range failed.
735      PR 42896. [Stefan Fritsch]
736
737   *) mod_dav_fs: Make PUT create files atomically and no longer destroy the
738      old file if the transfer aborted. PR 39815. [Paul Querna, Stefan Fritsch]
739
740   *) mod_dav_fs: Remove inode keyed locking as this conflicts with atomically
741      creating files. On systems with inode numbers, this is a format change of
742      the DavLockDB. The old DavLockDB must be deleted on upgrade.
743      [Stefan Fritsch]
744
745   *) mod_log_config: Make ${cookie}C correctly match whole cookie names
746      instead of substrings. PR 28037. [Dan Franklin <dan dan-franklin.com>,
747      Stefan Fritsch]
748
749   *) vhost: A purely-numeric Host: header should not be treated as a port.
750      PR 44979 [Nick Kew]
751
752   *) mod_ldap: Avoid 500 errors with "Unable to set LDAP_OPT_REFHOPLIMIT option to 5"
753      when built against openldap by using SDK LDAP_OPT_REFHOPLIMIT defaults unless
754      LDAPReferralHopLimit is explicitly configured.
755      [Eric Covener]
756
757   *) mod_charset_lite: Honor 'CharsetOptions NoImplicitAdd'.
758      [Eric Covener]
759
760   *) mod_ssl: Add support for OCSP Stapling.  PR 43822.  
761      [Dr Stephen Henson <shenson oss-institute.org>]
762
763   *) mod_socache_shmcb: Allow parens in file name if cache size is given.
764      Fixes SSLSessionCache directive mis-parsing parens in pathname.
765      PR 47945. [Stefan Fritsch]
766
767   *) htpasswd: Improve out of disk space handling. PR 30877. [Stefan Fritsch]
768
769   *) htpasswd: Use MD5 hash by default on all platforms. [Stefan Fritsch]
770
771   *) mod_sed: Reduce memory consumption when processing very long lines.
772      PR 48024 [Basant Kumar Kukreja <basant.kukreja sun.com>]
773
774   *) ab: Fix segfault in case the argument for -n is a very large number.
775      PR 47178. [Philipp Hagemeister <oss phihag.de>]
776
777   *) Allow ProxyPreserveHost to work in <Proxy> sections. PR 34901.
778      [Stefan Fritsch]
779
780   *) configure: Fix THREADED_MPMS so that mod_cgid is enabled again 
781      for worker MPM. [Takashi Sato]
782
783   *) mod_dav: Provide a mechanism to obtain the request_rec and pathname
784      from the dav_resource. [Jari Urpalainen <jari.urpalainen nokia.com>,
785      Brian France <brian brianfrance.com>]
786
787   *) Build: Use install instead of cp if available on installing
788      modules to avoid segmentation fault. PR 47951. [hirose31 gmail.com]
789
790   *) mod_cache: correctly consider s-maxage in cacheability
791      decisions.  [Dan Poirier]
792
793   *) mod_logio/core: Report more accurate byte counts in mod_status if
794      mod_logio is loaded. PR 25656. [Stefan Fritsch]
795
796   *) mod_ldap: If LDAPSharedCacheSize is too small, try harder to purge
797      some cache entries and log a warning. Also increase the default
798      LDAPSharedCacheSize to 500000. This is a more realistic size suitable
799      for the default values of 1024 for LdapCacheEntries/LdapOpCacheEntries.
800      PR 46749. [Stefan Fritsch]
801
802   *) mod_rewrite: Make sure that a hostname:port isn't fully qualified if
803      the request is a CONNECT request. [Bill Zajac <billz consultla.com>]
804
805   *) mod_cache: Teach CacheEnable and CacheDisable to work from within a
806      Location section, in line with how ProxyPass works. [Graham Leggett]
807
808   *) mod_reqtimeout: New module to set timeouts and minimum data rates for
809      receiving requests from the client. [Stefan Fritsch]
810
811   *) core: Fix potential memory leaks by making sure to not destroy
812      bucket brigades that have been created by earlier filters.
813      [Stefan Fritsch]
814
815   *) core, mod_deflate, mod_sed: Reduce memory usage by reusing bucket
816      brigades in several places. [Stefan Fritsch]
817
818   *) mod_cache: Fix uri_meets_conditions() so that CacheEnable will
819      match by scheme, or by a wildcarded hostname. PR 40169
820      [Peter Grandi <pg_asf asf.for.sabi.co.uk>, Graham Leggett]
821
822   *) suxec: Allow to log an error if exec fails by setting FD_CLOEXEC
823      on the log file instead of closing it. PR 10744. [Nicolas Rachinsky]
824
825   *) mod_mime: Make RemoveType override the info from TypesConfig.
826      PR 38330. [Stefan Fritsch]
827
828   *) mod_cache: Introduce the option to run the cache from within the
829      normal request handler, and to allow fine grained control over
830      where in the filter chain content is cached. [Graham Leggett]
831
832   *) core: Treat timeout reading request as 408 error, not 400.
833      Log 408 errors in access log as was done in Apache 1.3.x.
834      PR 39785 [Nobutaka Mantani <nobutaka nobutaka.org>, 
835      Stefan Fritsch <sf fritsch.de>, Dan Poirier]
836
837   *) mod_ssl: Reintroduce SSL_CLIENT_S_DN, SSL_CLIENT_I_DN, SSL_SERVER_S_DN,
838      SSL_SERVER_I_DN back to the environment variables to be set by mod_ssl.
839      [Peter Sylvester <peter.sylvester edelweb.fr>]
840
841   *) mod_disk_cache: don't cache incomplete responses, per RFC 2616, 13.8.
842      PR15866.  [Dan Poirier]
843
844   *) ab: ab segfaults in verbose mode on https sites
845      PR46393.  [Ryan Niebur]
846
847   *) mod_dav: Allow other modules to become providers and add resource types
848      to the DAV response. [Jari Urpalainen <jari.urpalainen nokia.com>,
849      Brian France <brian brianfrance.com>]
850
851   *) mod_dav: Allow other modules to add things to the DAV or Allow headers
852      of an OPTIONS request. [Jari Urpalainen <jari.urpalainen nokia.com>,
853      Brian France <brian brianfrance.com>]
854
855   *) core: Lower memory usage of core output filter.
856      [Stefan Fritsch <sf sfritsch.de>]
857
858   *) mod_mime: Detect invalid use of MultiviewsMatch inside Location and
859      LocationMatch sections.  PR47754. [Dan Poirier]
860
861   *) mod_request: Make sure the KeptBodySize directive rejects values
862      that aren't valid numbers. [Graham Leggett]
863
864   *) mod_session_crypto: Sanity check should the potentially encrypted
865      session cookie be too short. [Graham Leggett]
866
867   *) mod_session.c: Prevent a segfault when session is added but not
868      configured. [Graham Leggett]
869
870   *) htcacheclean: 19 ways to fail, 1 error message. Fixed. [Graham Leggett]
871
872   *) mod_auth_digest: Fail server start when nonce count checking
873      is configured without shared memory, or md5-sess algorithm is
874      configured. [Dan Poirier]
875
876   *) mod_proxy_connect: The connect method doesn't work if the client is
877      connecting to the apache proxy through an ssl socket. Fixed.
878      PR29744. [Brad Boyer, Mark Cave-Ayland, Julian Gilbey, Fabrice Durand,
879      David Gence, Tim Dodge, Per Gunnar Hans, Emmanuel Elango,
880      Kevin Croft, Rudolf Cardinal]
881
882   *) mod_ssl: The error message when SSLCertificateFile is missing should
883      at least give the name or position of the problematic virtual host
884      definition. [Stefan Fritsch sf sfritsch.de]
885
886   *) mod_auth_digest: Fix null pointer when qop=none. [Dan Poirier]
887
888   *) Add support for HTTP PUT to ab. [Jeff Barnes <jbarnesweb yahoo.com>]
889
890   *) mod_headers: generalise the envclause to support expression
891      evaluation with ap_expr parser [Nick Kew]
892
893   *) mod_cache: Introduce the thundering herd lock, a mechanism to keep
894      the flood of requests at bay that strike a backend webserver as
895      a cached entity goes stale. [Graham Leggett]
896
897   *) mod_auth_digest: Fix usage of shared memory and re-enable it.
898      PR 16057 [Dan Poirier]
899
900   *) Preserve Port information over internal redirects
901      PR 35999 [Jonas Ringh <jonas.ringh cixit.se>]
902
903   *) Proxy: unable to connect to a backend is SERVICE_UNAVAILABLE,
904      rather than BAD_GATEWAY or (especially) NOT_FOUND.
905      PR 46971 [evanc nortel.com]
906
907   *) Various modules: Do better checking of pollset operations in order to
908      avoid segmentation faults if they fail. PR 46467
909      [Stefan Fritsch <sf sfritsch.de>]
910
911   *) mod_autoindex: Correctly create an empty cell if the description
912      for a file is missing. PR 47682 [Peter Poeml <poeml suse.de>]
913
914   *) ab: Fix broken error messages after resolver or connect() failures.
915      [Jeff Trawick]
916
917   *) SECURITY: CVE-2009-1890 (cve.mitre.org) 
918      Fix a potential Denial-of-Service attack against mod_proxy in a
919      reverse proxy configuration, where a remote attacker can force a
920      proxy process to consume CPU time indefinitely.  [Nick Kew, Joe Orton]
921
922   *) SECURITY: CVE-2009-1191 (cve.mitre.org)
923      mod_proxy_ajp: Avoid delivering content from a previous request which
924      failed to send a request body. PR 46949 [Ruediger Pluem]
925
926   *) htdbm: Fix possible buffer overflow if dbm database has very
927      long values.  PR 30586 [Dan Poirier]
928
929   *) core: Return APR_EOF if request body is shorter than the length announced
930      by the client. PR 33098 [ Stefan Fritsch <sf sfritsch.de>]
931
932   *) mod_suexec: correctly set suexec_enabled when httpd is run by a
933      non-root user and may have insufficient permissions.
934      PR 42175 [Jim Radford <radford blackbean.org>]
935
936   *) mod_ssl: Fix SSL_*_DN_UID variables to use the 'userID' attribute
937      type.  PR 45107.  [Michael Ströder <michael stroeder.com>,
938      Peter Sylvester <peter.sylvester edelweb.fr>]
939
940   *) mod_proxy_http: fix case sensitivity checking transfer encoding
941      PR 47383 [Ryuzo Yamamoto <ryuzo.yamamoto gmail.com>]
942
943   *) mod_alias: ensure Redirect issues a valid URL.
944      PR 44020 [Håkon Stordahl <hakon stordahl.org>]
945
946   *) mod_dir: add FallbackResource directive, to enable admin to specify
947      an action to happen when a URL maps to no file, without resorting
948      to ErrorDocument or mod_rewrite.  PR 47184 [Nick Kew]
949
950   *) mod_cgid: Do not leak the listening Unix socket file descriptor to the
951      CGI process. PR 47335 [Kornél Pál <kornelpal gmail.com>]
952
953   *) mod_rewrite: Remove locking for writing to the rewritelog.
954      PR 46942 [Dan Poirier <poirier pobox.com>]
955
956   *) mod_alias: check sanity in Redirect arguments.
957      PR 44729 [Sönke Tesch <st kino-fahrplan.de>, Jim Jagielski]
958
959   *) mod_proxy_http: fix Host: header for literal IPv6 addresses.
960      PR 47177 [Carlos Garcia Braschi <cgbraschi gmail.com>]
961
962   *) mod_cache: Add CacheIgnoreURLSessionIdentifiers directive to ignore
963      defined session identifiers encoded in the URL when caching.
964      [Ruediger Pluem]
965
966   *) mod_rewrite: Fix the error string returned by RewriteRule.
967      RewriteRule returned "RewriteCond: bad flag delimiters" when the 3rd
968      argument of RewriteRule was not started with "[" or not ended with "]".
969      PR 45082 [Vitaly Polonetsky <m_vitaly topixoft.com>]
970
971   *) Windows: Fix usage message.
972      [Rainer Jung]
973
974   *) apachectl: When passing through arguments to httpd in
975      non-SysV mode, use the "$@" syntax to preserve arguments.
976      [Eric Covener]
977
978   *) mod_dbd: add DBDInitSQL directive to enable SQL statements to
979      be run when a connection is opened.  PR 46827
980      [Marko Kevac <mkevac gmail.com>]
981
982   *) mod_cgid: Improve handling of long AF_UNIX socket names (ScriptSock).  
983      PR 47037.  [Jeff Trawick]
984
985   *) mod_proxy_ajp: Check more strictly that the backend follows the AJP
986      protocol. [Mladen Turk]
987
988   *) mod_proxy_ajp: Forward remote port information by default.
989      [Rainer Jung]
990
991   *) Allow MPMs to be loaded dynamically, as with most other modules.  Use
992      --enable-mpms-shared={list|"all"} to enable.  This required changes to
993      the MPM interfaces.  Removed: mpm.h, mpm_default.h (as an installed 
994      header), APACHE_MPM_DIR, MPM_NAME, ap_threads_per_child,
995      ap_max_daemons_limit, ap_my_generation, etc.  ap_mpm_query() can't be
996      called until after the register-hooks phase.  [Jeff Trawick]
997
998   *) mod_ssl: Add SSLProxyCheckPeerExpire and SSLProxyCheckPeerCN directives
999      to enable stricter checking of remote server certificates.
1000      [Ruediger Pluem]
1001
1002   *) ab: Fix a 100% CPU loop on platforms where a failed non-blocking connect
1003      returns EINPROGRESS and a subsequent poll() returns only POLLERR.
1004      Observed on HP-UX.  [Eric Covener]
1005
1006   *) Remove broken support for BeOS, TPF, and even older platforms such
1007      as A/UX, Next, and Tandem.  [Jeff Trawick]
1008
1009   *) mod_proxy_ftp: Add ProxyFtpListOnWildcard directive to allow files with
1010      globbing characters to be retrieved instead of converted into a 
1011      directory listing.  PR 46789 [Dan Poirier <poirier pobox.com>]
1012
1013   *) Provide ap_retained_data_create()/ap_retained_data_get() for preservation
1014      of module state across unload/load.  [Jeff Trawick]
1015
1016   *) mod_substitute: Fix a memory leak. PR 44948
1017      [Dan Poirier <poirier pobox.com>]
1018
1019 Changes with Apache 2.3.2
1020
1021   *) mod_mime_magic: Fix detection of compressed content. [Rainer Jung]
1022
1023   *) mod_negotiation: Escape pathes of filenames in 406 responses to avoid
1024      HTML injections and HTTP response splitting.  PR 46837.
1025      [Geoff Keating <geoffk apple.com>]
1026
1027   *) mod_ssl: add support for type-safe STACK constructs in OpenSSL
1028      development HEAD.  PR 45521.  [Kaspar Brand, Sander Temme]
1029
1030   *) ab: Fix maintenance of the pollset to resolve EALREADY errors 
1031      with kqueue (BSD/OS X) and excessive CPU with event ports (Solaris).
1032      PR 44584.  Use APR_POLLSET_NOCOPY for better performance with some
1033      pollset implementations.  [Jeff Trawick]
1034
1035   *) mod_disk_cache: The module now turns off sendfile support if
1036      'EnableSendfile off' is defined globally. [Lars Eilebrecht]
1037
1038   *) mod_deflate: Adjust content metadata before bailing out on 304
1039      responses so that the metadata does not differ from 200 response.
1040      [Roy T. Fielding]
1041
1042   *) mod_deflate: Fix creation of invalid Etag headers. We now make sure
1043      that the Etag value is properly quoted when adding the gzip marker.
1044      PR 39727, 45023. [Lars Eilebrecht, Roy T. Fielding]
1045
1046   *) Added 20x22 icons for ODF, SVG, and XML documents.  PR 37185.
1047      [Peter Harlow]
1048
1049   *) Disabled DefaultType directive and removed ap_default_type()
1050      from core.  We now exclude Content-Type from responses for which
1051      a media type has not been configured via mime.types, AddType,
1052      ForceType, or some other mechanism. PR 13986. [Roy T. Fielding]
1053
1054   *) mod_rewrite: Add IPV6 variable to RewriteCond
1055      [Ryan Phillips <ryan-apache trolocsis.com>]
1056
1057   *) core: Enhance KeepAliveTimeout to support a value in milliseconds.
1058      PR 46275. [Takashi Sato]
1059
1060   *) rotatelogs: Allow size units B, K, M, G and combination of
1061      time and size based rotation. [Rainer Jung]
1062
1063   *) rotatelogs: Add flag for verbose (debug) output. [Rainer Jung]
1064
1065   *) mod_ssl: Fix merging of SSLRenegBufferSize directive. PR 46508
1066      [<tlhackque yahoo.com>]
1067
1068   *) core: Translate the the status line to ASCII on EBCDIC platforms in
1069      ap_send_interim_response() and for locally generated "100 Continue"
1070      responses.  [Eric Covener]
1071
1072   *) prefork: Fix child process hang during graceful restart/stop in
1073      configurations with multiple listening sockets.  PR 42829.  [Joe Orton,
1074      Jeff Trawick]
1075
1076   *) mod_session_crypto: Ensure that SessionCryptoDriver can only be
1077      set in the global scope. [Graham Leggett]
1078
1079   *) mod_ext_filter: We need to detect failure to startup the filter
1080      program (a mangled response is not acceptable).  Fix to detect
1081      failure, and offer configuration option either to abort or
1082      to remove the filter and continue.
1083      PR 41120 [Nick Kew]
1084
1085   *) mod_session_crypto: Rewrite the session_crypto module against the
1086      apr_crypto API. [Graham Leggett]
1087
1088   *) mod_auth_form: Fix a pool lifetime issue, don't remove the subrequest
1089      until the main request is cleaned up. [Graham Leggett]
1090
1091 Changes with Apache 2.3.1
1092
1093   *) ap_slotmem: Add in new slot-based memory access API impl., including
1094      2 providers (mod_sharedmem and mod_plainmem) [Jim Jagielski,
1095      Jean-Frederic Clere, Brian Akins <brian.akins turner.com>]
1096
1097   *) mod_include: support generating non-ASCII characters as entities in SSI
1098      PR 25202 [Nick Kew]
1099
1100   *) core/utils: Enhance ap_escape_html API to support escaping non-ASCII chars
1101      PR 25202 [Nick Kew]
1102
1103   *) mod_rewrite: fix "B" flag breakage by reverting r5589343
1104     PR 45529 [Bob Ionescu <bobsiegen googlemail.com>]
1105
1106   *) CGI: return 504 (Gateway timeout) rather than 500 when a script
1107      times out before returning status line/headers.
1108      PR 42190 [Nick Kew]
1109
1110   *) mod_cgid: fix segfault problem on solaris.
1111      PR 39332 [Masaoki Kobayashi <masaoki techfirm.co.jp>]
1112
1113   *) mod_proxy_scgi: Added. [André Malo]
1114
1115   *) mod_cache: Introduce 'no-cache' per-request environment variable
1116      to prevent the saving of an otherwise cacheable response.
1117      [Eric Covener]
1118
1119   *) mod_rewrite: Introduce DiscardPathInfo|DPI flag to stop the troublesome
1120      way that per-directory rewrites append the previous notion of PATH_INFO
1121      to each substitution before evaluating subsequent rules. 
1122      PR 38642 [Eric Covener]
1123
1124   *) mod_cgid: Do not add an empty argument when calling the CGI script.
1125      PR 46380 [Ruediger Pluem]
1126
1127   *) scoreboard: Remove unused sb_type from process_score.
1128      [Torsten Foertsch <torsten.foertsch gmx.net>, Chris Darroch]
1129
1130   *) mod_ssl: Add SSLRenegBufferSize directive to allow changing the
1131      size of the buffer used for the request-body where necessary
1132      during a per-dir renegotiation.  PR 39243.  [Joe Orton]
1133
1134   *) mod_proxy_fdpass: New module to pass a client connection over to a separate
1135      process that is reading from a unix daemon socket.
1136
1137   *) mod_ssl: Improve environment variable extraction to be more
1138      efficient and to correctly handle DNs with duplicate tags.
1139      PR 45975.  [Joe Orton]
1140
1141   *) Remove the obsolete serial attribute from the RPM spec file. Compile
1142      against the external pcre. Add missing binaries fcgistarter, and
1143      mod_socache* and mod_session*. [Graham Leggett]
1144
1145 Changes with Apache 2.3.0
1146
1147   *) mod_ratelimit: New module to do bandwidth rate limiting. [Paul Querna]
1148
1149   *) Remove X-Pad header which was added as a work around to a bug in 
1150      Netscape 2.x to 4.0b2. [Takashi Sato <takashi lans-tv.com>]
1151
1152   *) Add DTrace Statically Defined Tracing (SDT) probes.
1153     [Theo Schlossnagle <jesus omniti.com>, Paul Querna]
1154
1155   *) mod_proxy_balancer: Move all load balancing implementations
1156      as individual, self-contained mod_proxy submodules under
1157      modules/proxy/balancers [Jim Jagielski]
1158
1159   *) Rename APIs to include ap_ prefix:
1160         find_child_by_pid -> ap_find_child_by_pid
1161         suck_in_APR -> ap_suck_in_APR
1162         sys_privileges_handlers -> ap_sys_privileges_handlers
1163         unixd_accept -> ap_unixd_accept
1164         unixd_config -> ap_unixd_config
1165         unixd_killpg -> ap_unixd_killpg
1166         unixd_set_global_mutex_perms -> ap_unixd_set_global_mutex_perms
1167         unixd_set_proc_mutex_perms -> ap_unixd_set_proc_mutex_perms
1168         unixd_set_rlimit -> ap_unixd_set_rlimit
1169      [Paul Querna]
1170
1171   *) mod_lbmethod_heartbeat: New module to load balance mod_proxy workers
1172      based on heartbeats. [Paul Querna]
1173
1174   *) mod_heartmonitor: New module to collect heartbeats, and write out a file
1175      so that other modules can load balance traffic as needed. [Paul Querna]
1176
1177   *) mod_heartbeat: New module to generate multicast heartbeats to know if a 
1178      server is online. [Paul Querna]
1179
1180   *) mod_buffer: Honour the flush bucket and flush the buffer in the
1181      input filter. Make sure that metadata buckets are written to
1182      the buffer, not to the final brigade. [Graham Leggett]
1183
1184   *) mod_buffer: Optimise the buffering of heap buckets when the heap
1185      buckets stay exactly APR_BUCKET_BUFF_SIZE long. [Graham Leggett,
1186      Ruediger Pluem]
1187
1188   *) mod_buffer: Optional support for buffering of the input and output
1189      filter stacks. Can collapse many small buckets into fewer larger
1190      buckets, and prevents excessively small chunks being sent over
1191      the wire. [Graham Leggett]
1192
1193   *) mod_privileges: new module to make httpd on Solaris privileges-aware
1194      and to enable different virtualhosts to run with different
1195      privileges and Unix user/group IDs [Nick Kew]
1196
1197   *) mod_mem_cache: this module has been removed. [William Rowe]
1198
1199   *) authn/z: Remove mod_authn_default and mod_authz_default.
1200      [Chris Darroch]
1201
1202   *) authz: Fix handling of authz configurations, make default authz
1203      logic replicate 2.2.x authz logic, and replace <Satisfy*>, Reject,
1204      and AuthzMergeRules directives with Match, <Match*>, and AuthzMerge
1205      directives.  [Chris Darroch]
1206
1207   *) mod_authn_core: Prevent crash when provider alias created to
1208      provider which is not yet registered.  [Chris Darroch]
1209
1210   *) mod_authn_core: Add AuthType of None to support disabling
1211      authentication.  [Chris Darroch]
1212
1213   *) core: Allow <Limit> and <LimitExcept> directives to nest, and
1214      constrain their use to conform with that of other access control
1215      and authorization directives.  [Chris Darroch]
1216
1217   *) unixd: turn existing code into a module, and turn the set user/group
1218      and chroot into a child_init function. [Nick Kew]
1219
1220   *) mod_dir: Support "DirectoryIndex disabled" 
1221      Suggested By André Warnier <aw ice-sa.com> [Eric Covener]
1222
1223   *) mod_ssl: Send Content-Type application/ocsp-request for POST requests to
1224      OSCP responders. PR 46014 [Dr Stephen Henson <steve openssl.org>]
1225
1226   *) mod_authnz_ldap: don't return NULL-valued environment variables to
1227      other modules.  PR 39045 [Francois Pesce <francois.pesce gmail.com>]
1228
1229   *) Don't adjust case in pathname components that are not of interest
1230      to mod_mime.  Fixes mod_negotiation's use of such components.
1231      PR 43250 [Basant Kumar Kukreja <basant.kukreja sun.com>]
1232
1233   *) Be tolerant in what you accept - accept slightly broken
1234      status lines from a backend provided they include a valid status code.
1235      PR 44995 [Rainer Jung <rainer.jung kippdata.de>]
1236
1237   *) New module mod_sed: filter Request/Response bodies through sed
1238      [Basant Kumar Kukreja <basant.kukreja sun.com>]
1239
1240   *) mod_auth_form: Make sure that basic authentication is correctly
1241      faked directly after login. [Graham Leggett]
1242
1243   *) mod_session_cookie, mod_session_dbd: Make sure cookies are set both
1244      within the output headers and error output headers, so that the
1245      session is maintained across redirects. [Graham Leggett]
1246
1247   *) mod_auth_form: Make sure the logged in user is populated correctly
1248      after a form login. Fixes a missing REMOTE_USER variable directly
1249      following a login. [Graham Leggett]
1250
1251   *) mod_session_cookie: Make sure that cookie attributes are correctly
1252      included in the blank cookie when cookies are removed. This fixes an
1253      inability to log out when using mod_auth_form. [Graham Leggett]
1254
1255   *) mod_session: Prevent a segfault when a CGI script sets a cookie with a
1256      null value. [David Shane Holden <dpejesh apache.org>]
1257
1258   *) core, authn/z: Determine registered authn/z providers directly in
1259      ap_setup_auth_internal(), which allows optional functions that just
1260      wrapped ap_list_provider_names() to be removed from authn/z modules.
1261      [Chris Darroch]
1262
1263   *) authn/z: Convert common provider version strings to macros.
1264      [Chris Darroch]
1265
1266   *) core: When testing for slash-terminated configuration paths in
1267      ap_location_walk(), don't look past the start of an empty string
1268      such as that created by a <Location ""> directive.
1269      [Chris Darroch]
1270
1271   *) core, mod_proxy: If a kept_body is present, it becomes safe for
1272      subrequests to support message bodies. Make sure that safety
1273      checks within the core and within the proxy are not triggered
1274      when kept_body is present. This makes it possible to embed
1275      proxied POST requests within mod_include. [Graham Leggett]
1276
1277   *) mod_auth_form: Make sure the input filter stack is properly set
1278      up before reading the login form. Make sure the kept body filter
1279      is correctly inserted to ensure the body can be read a second
1280      time safely should the authn be successful. [Graham Leggett,
1281      Ruediger Pluem]
1282
1283   *) mod_request: Insert the KEPT_BODY filter via the insert_filter
1284      hook instead of during fixups. Add a safety check to ensure the
1285      filters cannot be inserted more than once. [Graham Leggett,
1286      Ruediger Pluem]
1287
1288   *) ap_cache_cacheable_headers_out() will (now) always
1289      merge an error headers _before_ clearing them and _before_
1290      merging in the actual entity headers and doing normal
1291      hop-by-hop cleansing. [Dirk-Willem van Gulik].
1292
1293   *) cache: retire ap_cache_cacheable_hdrs_out() which was used
1294      for both in- and out-put headers; and replace it by a single
1295      ap_cache_cacheable_headers() wrapped in a in- and out-put
1296      specific ap_cache_cacheable_headers_in()/out(). The latter
1297      which will also merge error and ensure content-type. To keep
1298      cache modules consistent with ease. This API change bumps
1299      up the minor MM by one [Dirk-Willem van Gulik].
1300
1301   *) Move the KeptBodySize directive, kept_body filters and the
1302      ap_parse_request_body function out of the http module and into a
1303      new module called mod_request, reducing the size of the core.
1304      [Graham Leggett]
1305
1306   *) mod_dbd: Handle integer configuration directive parameters with a
1307      dedicated function.
1308
1309   *) Change the directives within the mod_session* modules to be valid
1310      both inside and outside the location/directory sections, as
1311      suggested by wrowe. [Graham Leggett]
1312
1313   *) mod_auth_form: Add a module capable of allowing end users to log
1314      in using an HTML form, storing the credentials within mod_session.
1315      [Graham Leggett]
1316
1317   *) Add a function to the http filters that is able to parse an HTML
1318      form request with the type of application/x-www-form-urlencoded.
1319      [Graham Leggett]
1320
1321   *) mod_session_crypto: Initialise SSL in the post config hook.
1322      [Ruediger Pluem, Graham Leggett]
1323
1324   *) mod_session_dbd: Add a session implementation capable of storing
1325      session information in a SQL database via the dbd interface. Useful
1326      for sites where session privacy is important. [Graham Leggett]
1327
1328   *) mod_session_crypto: Add a session encoding implementation capable
1329      of encrypting and decrypting sessions wherever they may be stored.
1330      Introduces a level of privacy when sessions are stored on the
1331      browser. [Graham Leggett]
1332
1333   *) mod_session_cookie: Add a session implementation capable of storing
1334      session information within cookies on the browser. Useful for high
1335      volume sites where server bound sessions are too resource intensive.
1336      [Graham Leggett]
1337
1338   *) mod_session: Add a generic session interface to unify the different
1339      attempts at saving persistent sessions across requests.
1340      [Graham Leggett]
1341
1342   *) core, authn/z: Avoid calling access control hooks for internal requests
1343      with configurations which match those of initial request.  Revert to
1344      original behaviour (call access control hooks for internal requests
1345      with URIs different from initial request) if any access control hooks or
1346      providers are not registered as permitting this optimization.
1347      Introduce wrappers for access control hook and provider registration
1348      which can accept additional mode and flag data.  [Chris Darroch]
1349
1350   *) Introduced ap_expr API for expression evaluation.
1351      This is adapted from mod_include, which is the first module
1352      to use the new API.
1353      [Nick Kew]
1354
1355   *) mod_authz_dbd: When redirecting after successful login/logout per
1356      AuthzDBDRedirectQuery, do not report authorization failure, and use
1357      first row returned by database query instead of last row.
1358      [Chris Darroch]
1359
1360   *) mod_ldap: Correctly return all requested attribute values
1361      when some attributes have a null value. 
1362      PR 44560 [Anders Kaseorg <anders kaseorg.com>]
1363
1364   *) core: check symlink ownership if both FollowSymlinks and
1365      SymlinksIfOwnerMatch are set [Nick Kew]
1366
1367   *) core: fix origin checking in SymlinksIfOwnerMatch
1368      PR 36783 [Robert L Mathews <rob-apache.org.bugs tigertech.net>]
1369
1370   *) Activate mod_cache, mod_file_cache and mod_disk_cache as part of the
1371      'most' set for '--enable-modules' and '--enable-shared-mods'. Include 
1372      mod_mem_cache in 'all' as well. [Dirk-Willem van Gulik]
1373
1374   *) Also install mod_so.h, mod_rewrite.h and mod_cache.h; as these
1375      contain public function declarations which are useful for
1376      third party module authors. PR 42431 [Dirk-Willem van Gulik].
1377
1378   *) mod_dir, mod_negotiation: pass the output filter information
1379      to newly created sub requests; as these are later on used
1380      as true requests with an internal redirect. This allows for
1381      mod_cache et.al. to trap the results of the redirect. 
1382      [Dirk-Willem van Gulik, Ruediger Pluem]
1383
1384   *) mod_ldap: Add support (taking advantage of the new APR capability)
1385      for ldap rebind callback while chasing referrals. This allows direct
1386      searches on LDAP servers (in particular MS Active Directory 2003+)
1387      using referrals without the use of the global catalog.
1388      PRs 26538, 40268, and 42557 [Paul J. Reder]
1389
1390   *) ApacheMonitor.exe: Introduce --kill argument for use by the
1391      installer.  This will permit the installation tool to remove
1392      all running instances before attempting to remove the .exe.
1393      [William Rowe]
1394
1395   *) mod_ssl: Add support for OCSP validation of client certificates.
1396      PR 41123.  [Marc Stern <marc.stern approach.be>, Joe Orton]
1397
1398   *) mod_serf: New module for Reverse Proxying. [Paul Querna]
1399
1400   *) core: Add the option to keep aside a request body up to a certain
1401      size that would otherwise be discarded, to be consumed by filters
1402      such as mod_include. When enabled for a directory, POST requests
1403      to shtml files can be passed through to embedded scripts as POST
1404      requests, rather being downgraded to GET requests. [Graham Leggett]
1405
1406   *) mod_ssl: Fix TLS upgrade (RFC 2817) support.  PR 41231.  [Joe Orton]
1407
1408   *) scoreboard: Correctly declare ap_time_process_request.
1409      PR 43789 [Tom Donovan <Tom.Donovan acm.org>]
1410
1411   *) core; scoreboard: ap_get_scoreboard_worker(sbh) now takes the sbh member
1412      from the connection rec, ap_get_scoreboard_worker(proc, thread) will now
1413      provide the unusual legacy lookup.  [William Rowe]
1414
1415   *) mpm winnt: fix null pointer dereference
1416      PR 42572 [Davi Arnaut]
1417
1418   *) mod_authnz_ldap, mod_authn_dbd: Tidy up the code to expose authn
1419      parameters to the environment. Improve portability to
1420      EBCDIC machines by using apr_toupper(). [Martin Kraemer]
1421
1422   *) mod_ldap, mod_authnz_ldap: Add support for nested groups (i.e. the ability
1423      to authorize an authenticated user via a "require ldap-group X" directive
1424      where the user is not in group X, but is in a subgroup contained in X.
1425      PR 42891 [Paul J. Reder]
1426
1427   *) mod_ssl: Add support for caching SSL Sessions in memcached. [Paul Querna]
1428
1429   *) apxs: Enhance -q flag to print all known variables and their values
1430      when invoked without variable name(s). 
1431      [William Rowe, Sander Temme]
1432
1433   *) apxs: Eliminate run-time check for mod_so.  PR 40653.
1434      [David M. Lee <dmlee crossroads.com>]
1435
1436   *) beos MPM: Create pmain pool and run modules' child_init hooks when
1437      entering ap_mpm_run(), then destroy pmain when exiting ap_mpm_run().
1438      [Chris Darroch]
1439
1440   *) netware MPM: Destroy pmain pool when exiting ap_mpm_run() so that
1441      cleanups registered in modules' child_init hooks are performed.
1442      [Chris Darroch]
1443
1444   *) Fix issue which could cause error messages to be written to access logs
1445      on Win32.  PR 40476.  [Tom Donovan <Tom.Donovan acm.org>]
1446
1447   *) The LockFile directive, which specifies the location of
1448      the accept() mutex lockfile, is deprecated. Instead, the
1449      AcceptMutex directive now takes an optional lockfile
1450      location parameter, ala SSLMutex. [Jim Jagielski]
1451
1452   *) mod_authn_dbd: Export any additional columns queried in the SQL select
1453      into the environment with the name AUTHENTICATE_<COLUMN>. This brings
1454      mod_authn_dbd behaviour in line with mod_authnz_ldap. [Graham Leggett]
1455
1456   *) mod_dbd: Key the storage of prepared statements on the hex string
1457      value of server_rec, rather than the server name, as the server name
1458      may change (eg when the server name is set) at any time, causing
1459      weird behaviour in modules dependent on mod_dbd. [Graham Leggett]
1460
1461   *) mod_proxy_fcgi: Added win32 build. [Mladen Turk]
1462
1463   *) sendfile_nonblocking() takes the _brigade_ as an argument, gets 
1464      the first bucket from the brigade, finds it not to be a FILE
1465      bucket and barfs. The fix is to pass a bucket rather than a brigade.
1466      [Niklas Edmundsson <nikke acc.umu.se>]
1467
1468   *) mod_rewrite: support rewritemap by SQL query [Nick Kew]
1469
1470   *) ap_get_server_version() has been removed.  Third-party modules must 
1471      now use ap_get_server_banner() or ap_get_server_description().
1472      [Jeff Trawick]
1473
1474   *) All MPMs: Introduce a check_config phase between pre_config and
1475      open_logs, to allow modules to review interdependent configuration
1476      directive values and adjust them while messages can still be logged
1477      to the console.  Handle relevant MPM directives during this phase
1478      and format messages for both the console and the error log, as
1479      appropriate.  [Chris Darroch]
1480
1481   *) core: Do not allow internal redirects like the DirectoryIndex of mod_dir
1482      to circumvent the symbolic link checks imposed by FollowSymLinks and
1483      SymLinksIfOwnerMatch. [Nick Kew, Ruediger Pluem, William Rowe]
1484
1485   *) New SSLLogLevelDebugDump [ None (default) | IO (not bytes) | Bytes ]
1486      configures the I/O Dump of SSL traffic, when LogLevel is set to Debug.
1487      The default is none as this is far greater debugging resolution than 
1488      the typical administrator is prepared to untangle.  [William Rowe]
1489
1490   *) mod_disk_cache: If possible, check if the size of an object to cache is
1491      within the configured boundaries before actually saving data.
1492      [Niklas Edmundsson <nikke acc.umu.se>]
1493
1494   *) Worker and event MPMs: Remove improper scoreboard updates which were
1495      performed in the event of a fork() failure.  [Chris Darroch]
1496
1497   *) Add support for fcgi:// proxies to mod_rewrite.
1498      [Markus Schiegl <ms schiegl.com>]
1499
1500   *) Remove incorrect comments from scoreboard.h regarding conditional
1501      loading of worker_score structure with mod_status, and remove unused
1502      definitions relating to old life_status field.
1503      [Chris Darroch <chrisd pearsoncmg.com>]
1504
1505   *) Remove allocation of memory for unused array of lb_score pointers
1506      in ap_init_scoreboard().  [Chris Darroch <chrisd pearsoncmg.com>]
1507
1508   *) Add mod_proxy_fcgi, a FastCGI back end for mod_proxy.
1509      [Garrett Rooney, Jim Jagielski, Paul Querna]
1510
1511   *) Event MPM: Fill in the scoreboard's tid field. PR 38736.
1512      [Chris Darroch <chrisd pearsoncmg.com>]
1513
1514   *) mod_charset_lite: Remove Content-Length when output filter can 
1515      invalidate it.  Warn when input filter can invalidate it.
1516      [Jeff Trawick]
1517
1518   *) Authz: Add the new module mod_authn_core that will provide common
1519      authn directives such as 'AuthType', 'AuthName'.  Move the directives
1520      'AuthType' and 'AuthName' out of the core module and merge mod_authz_alias 
1521      into mod_authn_core. [Brad Nicholes]
1522
1523   *) Authz: Move the directives 'Order', 'Allow', 'Deny' and 'Satisfy' 
1524      into the new module mod_access_compat which can be loaded to provide 
1525      support for these directives.
1526      [Brad Nicholes]
1527
1528   *) Authz: Move the 'Require' directive from the core module as well as 
1529      add the directives '<SatisfyAll>', '<SatisfyOne>', '<RequireAlias>' 
1530      and 'Reject' to mod_authz_core. The new directives introduce 'AND/OR' 
1531      logic into the authorization processing. [Brad Nicholes]
1532
1533   *) Authz: Add the new module mod_authz_core which acts as the 
1534      authorization provider vector and contains common authz 
1535      directives. [Brad Nicholes]
1536
1537   *) Authz: Renamed mod_authz_dbm authz providers from 'group' and 
1538      'file-group' to 'dbm-group' and 'dbm-file-group'. [Brad Nicholes]
1539
1540   *) Authz: Added the new authz providers 'env', 'ip', 'host', 'all' to handle
1541      host-based access control provided by mod_authz_host and invoked 
1542      through the 'Require' directive. [Brad Nicholes]
1543
1544   *) Authz: Convert all of the authz modules from hook based to 
1545      provider based. [Brad Nicholes]
1546
1547   *) mod_cache: Add CacheMinExpire directive to set the minimum time in
1548      seconds to cache a document.
1549      [Brian Akins <brian.akins turner.com>, Ruediger Pluem]
1550
1551   *) mod_authz_dbd: SQL authz with Login/Session support [Nick Kew]
1552
1553   *) Fix typo in ProxyStatus syntax error message.
1554      [Christophe Jaillet <christophe.jaillet wanadoo.fr>]
1555
1556   *) Asynchronous write completion for the Event MPM.  [Brian Pane]
1557
1558   *) Added an End-Of-Request bucket type.  The logging of a request and
1559      the freeing of its pool are now done when the EOR bucket is destroyed.
1560      This has the effect of delaying the logging until right after the last
1561      of the response is sent; ap_core_output_filter() calls the access logger
1562      indirectly when it destroys the EOR bucket.  [Brian Pane]
1563
1564   *) Rewrite of logresolve support utility: IPv6 addresses are now supported
1565      and the format of statistical output has changed. [Colm MacCarthaigh]
1566
1567   *) Rewrite of ap_coreoutput_filter to do nonblocking writes  [Brian Pane]
1568
1569   *) Added new connection states for handler and write completion
1570      [Brian Pane]
1571
1572   *) mod_cgid: Refuse to work on Solaris 10 due to OS bugs.  PR 34264.
1573      [Justin Erenkrantz]
1574
1575   *) Teach mod_ssl to use arbitrary OIDs in an SSLRequire directive,
1576      allowing string-valued client certificate attributes to be used for
1577      access control, as in: SSLRequire "value" in OID("1.3.6.1.4.1.18060.1")
1578      [Martin Kraemer, David Reid]
1579
1580   [Apache 2.3.0-dev includes those bug fixes and changes with the
1581    Apache 2.2.xx tree as documented, and except as noted, below.]
1582
1583 Changes with Apache 2.2.x and later:
1584
1585   *) http://svn.apache.org/viewvc/httpd/httpd/branches/2.2.x/CHANGES?view=markup
1586
1587 Changes with Apache 2.0.x and later:
1588
1589   *) http://svn.apache.org/viewvc/httpd/httpd/branches/2.0.x/CHANGES?view=markup
1590
1591 Changes with Apache 1.3.x and later:
1592
1593   *) http://svn.apache.org/viewvc/httpd/httpd/branches/1.3.x/src/CHANGES?view=markup
1594
1595