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