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