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