]> granicus.if.org Git - apache/blob - CHANGES
Remove trailing whitespace from the mod_request module.
[apache] / CHANGES
1                                                         -*- coding: utf-8 -*-
2
3 Changes with Apache 2.3.3
4
5   *) mod_session_crypto: Sanity check should the potentially encrypted
6      session cookie be too short. [Graham Leggett]
7
8   *) mod_session.c: Prevent a segfault when session is added but not
9      configured. [Graham Leggett]
10
11   *) htcacheclean: 19 ways to fail, 1 error message. Fixed. [Graham Leggett]
12
13   *) mod_auth_digest: Fail server start when nonce count checking
14      is configured without shared memory, or md5-sess algorithm is
15      configured. [Dan Poirier]
16
17   *) mod_proxy_connect: The connect method doesn't work if the client is
18      connecting to the apache proxy through an ssl socket. Fixed.
19      PR29744. [Brad Boyer, Mark Cave-Ayland, Julian Gilbey, Fabrice Durand,
20      David Gence, Tim Dodge, Per Gunnar Hans, Emmanuel Elango,
21      Kevin Croft, Rudolf Cardinal]
22
23   *) mod_ssl: The error message when SSLCertificateFile is missing should
24      at least give the name or position of the problematic virtual host
25      definition. [Stefan Fritsch sf sfritsch.de]
26
27   *) mod_auth_digest: Fix null pointer when qop=none. [Dan Poirier]
28
29   *) Add support for HTTP PUT to ab. [Jeff Barnes <jbarnesweb yahoo.com>]
30
31   *) mod_headers: generalise the envclause to support expression
32      evaluation with ap_expr parser [Nick Kew]
33
34   *) mod_cache: Introduce the thundering herd lock, a mechanism to keep
35      the flood of requests at bay that strike a backend webserver as
36      a cached entity goes stale. [Graham Leggett]
37
38   *) mod_auth_digest: Fix usage of shared memory and re-enable it.
39      PR 16057 [Dan Poirier]
40
41   *) Preserve Port information over internal redirects
42      PR 35999 [Jonas Ringh <jonas.ringh cixit.se>]
43
44   *) Proxy: unable to connect to a backend is SERVICE_UNAVAILABLE,
45      rather than BAD_GATEWAY or (especially) NOT_FOUND.
46      PR 46971 [evanc nortel.com]
47
48   *) Various modules: Do better checking of pollset operations in order to
49      avoid segmentation faults if they fail. PR 46467
50      [Stefan Fritsch <sf sfritsch.de>]
51
52   *) mod_autoindex: Correctly create an empty cell if the description
53      for a file is missing. PR 47682 [Peter Poeml <poeml suse.de>]
54
55   *) ab: Fix broken error messages after resolver or connect() failures.
56      [Jeff Trawick]
57
58   *) SECURITY: CVE-2009-1890 (cve.mitre.org) 
59      Fix a potential Denial-of-Service attack against mod_proxy in a
60      reverse proxy configuration, where a remote attacker can force a
61      proxy process to consume CPU time indefinitely.  [Nick Kew, Joe Orton]
62
63   *) SECURITY: CVE-2009-1191 (cve.mitre.org)
64      mod_proxy_ajp: Avoid delivering content from a previous request which
65      failed to send a request body. PR 46949 [Ruediger Pluem]
66
67   *) htdbm: Fix possible buffer overflow if dbm database has very
68      long values.  PR 30586 [Dan Poirier]
69
70   *) core: Return APR_EOF if request body is shorter than the length announced
71      by the client. PR 33098 [ Stefan Fritsch <sf sfritsch.de>]
72
73   *) mod_suexec: correctly set suexec_enabled when httpd is run by a
74      non-root user and may have insufficient permissions.
75      PR 42175 [Jim Radford <radford blackbean.org>]
76
77   *) mod_ssl: Fix SSL_*_DN_UID variables to use the 'userID' attribute
78      type.  PR 45107.  [Michael Ströder <michael stroeder.com>,
79      Peter Sylvester <peter.sylvester edelweb.fr>]
80
81   *) mod_proxy_http: fix case sensitivity checking transfer encoding
82      PR 47383 [Ryuzo Yamamoto <ryuzo.yamamoto gmail.com>]
83
84   *) mod_alias: ensure Redirect issues a valid URL.
85      PR 44020 [Håkon Stordahl <hakon stordahl.org>]
86
87   *) mod_dir: add DefaultHandler directive, to enable admin to specify
88      an action to happen when a URL maps to no file, without resorting
89      to ErrorDocument or mod_rewrite.  PR 47184 [Nick Kew]
90
91   *) mod_cgid: Do not leak the listening Unix socket file descriptor to the
92      CGI process. PR 47335 [Kornél Pál <kornelpal gmail.com>]
93
94   *) mod_rewrite: Remove locking for writing to the rewritelog.
95      PR 46942 [Dan Poirier <poirier pobox.com>]
96
97   *) mod_alias: check sanity in Redirect arguments.
98      PR 44729 [Sönke Tesch <st kino-fahrplan.de>, Jim Jagielski]
99
100   *) mod_proxy_http: fix Host: header for literal IPv6 addresses.
101      PR 47177 [Carlos Garcia Braschi <cgbraschi gmail.com>]
102
103   *) mod_cache: Add CacheIgnoreURLSessionIdentifiers directive to ignore
104      defined session identifiers encoded in the URL when caching.
105      [Ruediger Pluem]
106
107   *) mod_rewrite: Fix the error string returned by RewriteRule.
108      RewriteRule returned "RewriteCond: bad flag delimiters" when the 3rd
109      argument of RewriteRule was not started with "[" or not ended with "]".
110      PR 45082 [Vitaly Polonetsky <m_vitaly topixoft.com>]
111
112   *) Windows: Fix usage message.
113      [Rainer Jung]
114
115   *) apachectl: When passing through arguments to httpd in
116      non-SysV mode, use the "$@" syntax to preserve arguments.
117      [Eric Covener]
118
119   *) mod_dbd: add DBDInitSQL directive to enable SQL statements to
120      be run when a connection is opened.  PR 46827
121      [Marko Kevac <mkevac gmail.com>]
122
123   *) mod_cgid: Improve handling of long AF_UNIX socket names (ScriptSock).  
124      PR 47037.  [Jeff Trawick]
125
126   *) mod_proxy_ajp: Check more strictly that the backend follows the AJP
127      protocol. [Mladen Turk]
128
129   *) mod_proxy_ajp: Forward remote port information by default.
130      [Rainer Jung]
131
132   *) Allow MPMs to be loaded dynamically, as with most other modules.  This
133      required changes to the MPM interfaces.  Removed: mpm.h, mpm_default.h
134      (as an installed header), APACHE_MPM_DIR, MPM_NAME, ap_threads_per_child, 
135      ap_max_daemons_limit, ap_my_generation, etc.  ap_mpm_query() can't be
136      called until after the register-hooks phase.  [Jeff Trawick]
137
138   *) mod_ssl: Add SSLProxyCheckPeerExpire and SSLProxyCheckPeerCN directives
139      to enable stricter checking of remote server certificates.
140      [Ruediger Pluem]
141
142   *) ab: Fix a 100% CPU loop on platforms where a failed non-blocking connect
143      returns EINPROGRESS and a subsequent poll() returns only POLLERR.
144      Observed on HP-UX.  [Eric Covener]
145
146   *) Remove broken support for BeOS, OS/2, TPF, and even older platforms such
147      as A/UX, Next, and Tandem.  [Jeff Trawick]
148
149   *) mod_proxy_ftp: Add ProxyFtpListOnWildcard directive to allow files with
150      globbing characters to be retrieved instead of converted into a 
151      directory listing.  PR 46789 [Dan Poirier <poirier pobox.com>]
152
153   *) Provide ap_retained_data_create()/ap_retained_data_get() for preservation
154      of module state across unload/load.  [Jeff Trawick]
155
156   *) mod_substitute: Fix a memory leak. PR 44948
157      [Dan Poirier <poirier pobox.com>]
158
159 Changes with Apache 2.3.2
160
161   *) mod_mime_magic: Fix detection of compressed content. [Rainer Jung]
162
163   *) mod_negotiation: Escape pathes of filenames in 406 responses to avoid
164      HTML injections and HTTP response splitting.  PR 46837.
165      [Geoff Keating <geoffk apple.com>]
166
167   *) mod_ssl: add support for type-safe STACK constructs in OpenSSL
168      development HEAD.  PR 45521.  [Kaspar Brand, Sander Temme]
169
170   *) ab: Fix maintenance of the pollset to resolve EALREADY errors 
171      with kqueue (BSD/OS X) and excessive CPU with event ports (Solaris).
172      PR 44584.  Use APR_POLLSET_NOCOPY for better performance with some
173      pollset implementations.  [Jeff Trawick]
174
175   *) mod_disk_cache: The module now turns off sendfile support if
176      'EnableSendfile off' is defined globally. [Lars Eilebrecht]
177
178   *) mod_deflate: Adjust content metadata before bailing out on 304
179      responses so that the metadata does not differ from 200 response.
180      [Roy T. Fielding]
181
182   *) mod_deflate: Fix creation of invalid Etag headers. We now make sure
183      that the Etag value is properly quoted when adding the gzip marker.
184      PR 39727, 45023. [Lars Eilebrecht, Roy T. Fielding]
185
186   *) Added 20x22 icons for ODF, SVG, and XML documents.  PR 37185.
187      [Peter Harlow]
188
189   *) Disabled DefaultType directive and removed ap_default_type()
190      from core.  We now exclude Content-Type from responses for which
191      a media type has not been configured via mime.types, AddType,
192      ForceType, or some other mechanism. PR 13986. [Roy T. Fielding]
193
194   *) mod_rewrite: Add IPV6 variable to RewriteCond
195      [Ryan Phillips <ryan-apache trolocsis.com>]
196
197   *) core: Enhance KeepAliveTimeout to support a value in milliseconds.
198      PR 46275. [Takashi Sato]
199
200   *) rotatelogs: Allow size units B, K, M, G and combination of
201      time and size based rotation. [Rainer Jung]
202
203   *) rotatelogs: Add flag for verbose (debug) output. [Rainer Jung]
204
205   *) mod_ssl: Fix merging of SSLRenegBufferSize directive. PR 46508
206      [<tlhackque yahoo.com>]
207
208   *) core: Translate the the status line to ASCII on EBCDIC platforms in
209      ap_send_interim_response() and for locally generated "100 Continue"
210      responses.  [Eric Covener]
211
212   *) prefork: Fix child process hang during graceful restart/stop in
213      configurations with multiple listening sockets.  PR 42829.  [Joe Orton,
214      Jeff Trawick]
215
216   *) mod_session_crypto: Ensure that SessionCryptoDriver can only be
217      set in the global scope. [Graham Leggett]
218
219   *) mod_ext_filter: We need to detect failure to startup the filter
220      program (a mangled response is not acceptable).  Fix to detect
221      failure, and offer configuration option either to abort or
222      to remove the filter and continue.
223      PR 41120 [Nick Kew]
224
225   *) mod_session_crypto: Rewrite the session_crypto module against the
226      apr_crypto API. [Graham Leggett]
227
228   *) mod_auth_form: Fix a pool lifetime issue, don't remove the subrequest
229      until the main request is cleaned up. [Graham Leggett]
230
231 Changes with Apache 2.3.1
232
233   *) ap_slotmem: Add in new slot-based memory access API impl., including
234      2 providers (mod_sharedmem and mod_plainmem) [Jim Jagielski,
235      Jean-Frederic Clere, Brian Akins <brian.akins turner.com>]
236
237   *) mod_include: support generating non-ASCII characters as entities in SSI
238      PR 25202 [Nick Kew]
239
240   *) core/utils: Enhance ap_escape_html API to support escaping non-ASCII chars
241      PR 25202 [Nick Kew]
242
243   *) mod_rewrite: fix "B" flag breakage by reverting r5589343
244     PR 45529 [Bob Ionescu <bobsiegen googlemail.com>]
245
246   *) CGI: return 504 (Gateway timeout) rather than 500 when a script
247      times out before returning status line/headers.
248      PR 42190 [Nick Kew]
249
250   *) mod_cgid: fix segfault problem on solaris.
251      PR 39332 [Masaoki Kobayashi <masaoki techfirm.co.jp>]
252
253   *) mod_proxy_scgi: Added. [André Malo]
254
255   *) mod_cache: Introduce 'no-cache' per-request environment variable
256      to prevent the saving of an otherwise cacheable response.
257      [Eric Covener]
258
259   *) mod_rewrite: Introduce DiscardPathInfo|DPI flag to stop the troublesome
260      way that per-directory rewrites append the previous notion of PATH_INFO
261      to each substitution before evaluating subsequent rules. 
262      PR 38642 [Eric Covener]
263
264   *) mod_cgid: Do not add an empty argument when calling the CGI script.
265      PR 46380 [Ruediger Pluem]
266
267   *) scoreboard: Remove unused sb_type from process_score.
268      [Torsten Foertsch <torsten.foertsch gmx.net>, Chris Darroch]
269
270   *) mod_ssl: Add SSLRenegBufferSize directive to allow changing the
271      size of the buffer used for the request-body where necessary
272      during a per-dir renegotiation.  PR 39243.  [Joe Orton]
273
274   *) mod_proxy_fdpass: New module to pass a client connection over to a separate
275      process that is reading from a unix daemon socket.
276
277   *) mod_ssl: Improve environment variable extraction to be more
278      efficient and to correctly handle DNs with duplicate tags.
279      PR 45975.  [Joe Orton]
280
281   *) Remove the obsolete serial attribute from the RPM spec file. Compile
282      against the external pcre. Add missing binaries fcgistarter, and
283      mod_socache* and mod_session*. [Graham Leggett]
284
285 Changes with Apache 2.3.0
286
287   *) mod_ratelimit: New module to do bandwidth rate limiting. [Paul Querna]
288
289   *) Remove X-Pad header which was added as a work around to a bug in 
290      Netscape 2.x to 4.0b2. [Takashi Sato <takashi lans-tv.com>]
291
292   *) Add DTrace Statically Defined Tracing (SDT) probes.
293     [Theo Schlossnagle <jesus omniti.com>, Paul Querna]
294
295   *) mod_proxy_balancer: Move all load balancing implementations
296      as individual, self-contained mod_proxy submodules under
297      modules/proxy/balancers [Jim Jagielski]
298
299   *) Rename APIs to include ap_ prefix:
300         find_child_by_pid -> ap_find_child_by_pid
301         suck_in_APR -> ap_suck_in_APR
302         sys_privileges_handlers -> ap_sys_privileges_handlers
303         unixd_accept -> ap_unixd_accept
304         unixd_config -> ap_unixd_config
305         unixd_killpg -> ap_unixd_killpg
306         unixd_set_global_mutex_perms -> ap_unixd_set_global_mutex_perms
307         unixd_set_proc_mutex_perms -> ap_unixd_set_proc_mutex_perms
308         unixd_set_rlimit -> ap_unixd_set_rlimit
309      [Paul Querna]
310
311   *) core: When the ap_http_header_filter processes an error bucket, cleanup
312      the passed brigade before returning AP_FILTER_ERROR down the filter 
313      chain. This unambiguously ensures the same error bucket isn't revisited
314      [Ruediger Pluem]
315
316   *) mod_lbmethod_heartbeat: New module to load balance mod_proxy workers
317      based on heartbeats. [Paul Querna]
318
319   *) mod_heartmonitor: New module to collect heartbeats, and write out a file
320      so that other modules can load balance traffic as needed. [Paul Querna]
321
322   *) mod_heartbeat: New module to generate multicast heartbeats to know if a 
323      server is online. [Paul Querna]
324
325   *) core: Error responses set by filters were being coerced into 500 errors,
326      sometimes appended to the original error response. Log entry of:
327      'Handler for (null) returned invalid result code -3' 
328      [Eric Covener]
329
330   *) mod_buffer: Honour the flush bucket and flush the buffer in the
331      input filter. Make sure that metadata buckets are written to
332      the buffer, not to the final brigade. [Graham Leggett]
333
334   *) mod_buffer: Optimise the buffering of heap buckets when the heap
335      buckets stay exactly APR_BUCKET_BUFF_SIZE long. [Graham Leggett,
336      Ruediger Pluem]
337
338   *) mod_buffer: Optional support for buffering of the input and output
339      filter stacks. Can collapse many small buckets into fewer larger
340      buckets, and prevents excessively small chunks being sent over
341      the wire. [Graham Leggett]
342
343   *) mod_privileges: new module to make httpd on Solaris privileges-aware
344      and to enable different virtualhosts to run with different
345      privileges and Unix user/group IDs [Nick Kew]
346
347   *) mod_mem_cache: this module has been removed. [William Rowe]
348
349   *) authn/z: Remove mod_authn_default and mod_authz_default.
350      [Chris Darroch]
351
352   *) authz: Fix handling of authz configurations, make default authz
353      logic replicate 2.2.x authz logic, and replace <Satisfy*>, Reject,
354      and AuthzMergeRules directives with Match, <Match*>, and AuthzMerge
355      directives.  [Chris Darroch]
356
357   *) mod_authn_core: Prevent crash when provider alias created to
358      provider which is not yet registered.  [Chris Darroch]
359
360   *) mod_authn_core: Add AuthType of None to support disabling
361      authentication.  [Chris Darroch]
362
363   *) core: Allow <Limit> and <LimitExcept> directives to nest, and
364      constrain their use to conform with that of other access control
365      and authorization directives.  [Chris Darroch]
366
367   *) unixd: turn existing code into a module, and turn the set user/group
368      and chroot into a child_init function. [Nick Kew]
369
370   *) core: Add ap_timeout_parameter_parse to public API. [Ruediger Pluem]
371
372   *) mod_dir: Support "DirectoryIndex disabled" 
373      Suggested By André Warnier <aw ice-sa.com> [Eric Covener]
374
375   *) mod_ssl: Send Content-Type application/ocsp-request for POST requests to
376      OSCP responders. PR 46014 [Dr Stephen Henson <steve openssl.org>]
377
378   *) Export and install the mod_rewrite.h header to ensure the optional
379      rewrite_mapfunc_t and ap_register_rewrite_mapfunc functions are
380      available to third party modules. [Graham Leggett]
381
382   *) mod_authnz_ldap: don't return NULL-valued environment variables to
383      other modules.  PR 39045 [Francois Pesce <francois.pesce gmail.com>]
384
385   *) Don't adjust case in pathname components that are not of interest
386      to mod_mime.  Fixes mod_negotiation's use of such components.
387      PR 43250 [Basant Kumar Kukreja <basant.kukreja sun.com>]
388
389   *) Be tolerant in what you accept - accept slightly broken
390      status lines from a backend provide they include a valid status code.
391      PR 44995 [Rainer Jung <rainer.jung kippdata.de>]
392
393   *) New module mod_sed: filter Request/Response bodies through sed
394      [Basant Kumar Kukreja <basant.kukreja sun.com>]
395
396   *) mod_auth_form: Make sure that basic authentication is correctly
397      faked directly after login. [Graham Leggett]
398
399   *) mod_session_cookie, mod_session_dbd: Make sure cookies are set both
400      within the output headers and error output headers, so that the
401      session is maintained across redirects. [Graham Leggett]
402
403   *) mod_auth_form: Make sure the logged in user is populated correctly
404      after a form login. Fixes a missing REMOTE_USER variable directly
405      following a login. [Graham Leggett]
406
407   *) mod_session_cookie: Make sure that cookie attributes are correctly
408      included in the blank cookie when cookies are removed. This fixes an
409      inability to log out when using mod_auth_form. [Graham Leggett]
410
411   *) mod_autoindex: add configuration option to insert string
412      in HTML HEAD. [Nick Kew]
413
414   *) mod_session: Prevent a segfault when a CGI script sets a cookie with a
415      null value. [David Shane Holden <dpejesh apache.org>]
416
417   *) mod_headers: Prevent Header edit from processing only the first header
418      of possibly multiple headers with the same name and deleting the
419      remaining ones. PR 45333.  [Ruediger Pluem]
420
421   *) mod_rewrite: Preserve the query string with [proxy,noescape]. PR 45247
422      [Tom Donovan]
423
424   *) core, authn/z: Determine registered authn/z providers directly in
425      ap_setup_auth_internal(), which allows optional functions that just
426      wrapped ap_list_provider_names() to be removed from authn/z modules.
427      [Chris Darroch]
428
429   *) authn/z: Convert common provider version strings to macros.
430      [Chris Darroch]
431
432   *) ab: Make ab.c compile on VC6. PR 45024 [Ruediger Pluem]
433
434   *) configure: Don't reject libtool 2.x
435      PR 44817 [Arfrever Frehtes Taifersar Arahesis <Arfrever.FTA gmail.com>]
436
437   *) core: When testing for slash-terminated configuration paths in
438      ap_location_walk(), don't look past the start of an empty string
439      such as that created by a <Location ""> directive.
440      [Chris Darroch]
441
442   *) core, mod_proxy: If a kept_body is present, it becomes safe for
443      subrequests to support message bodies. Make sure that safety
444      checks within the core and within the proxy are not triggered
445      when kept_body is present. This makes it possible to embed
446      proxied POST requests within mod_include. [Graham Leggett]
447
448   *) mod_auth_form: Make sure the input filter stack is properly set
449      up before reading the login form. Make sure the kept body filter
450      is correctly inserted to ensure the body can be read a second
451      time safely should the authn be successful. [Graham Leggett,
452      Ruediger Pluem]
453
454   *) mod_request: Insert the KEPT_BODY filter via the insert_filter
455      hook instead of during fixups. Add a safety check to ensure the
456      filters cannot be inserted more than once. [Graham Leggett,
457      Ruediger Pluem]
458
459   *) core: Do not allow Options ALL if not all options are allowed to be
460      overwritten. PR 44262 [Michał Grzędzicki <lazy iq.pl>]
461
462   *) ap_cache_cacheable_headers_out() will (now) always
463      merge an error headers _before_ clearing them and _before_
464      merging in the actual entity headers and doing normal
465      hop-by-hop cleansing. [Dirk-Willem van Gulik].
466
467   *) cache: retire ap_cache_cacheable_hdrs_out() which was used
468      for both in- and out-put headers; and replace it by a single
469      ap_cache_cacheable_headers() wrapped in a in- and out-put
470      specific ap_cache_cacheable_headers_in()/out(). The latter
471      which will also merge error and ensure content-type. To keep
472      cache modules consistent with ease. This API change bumps
473      up the minor MM by one [Dirk-Willem van Gulik].
474
475   *) mod_rewrite: Allow Cookie option to set secure and HttpOnly flags.
476      PR 44799 [Christian Wenz <christian wenz.org>]
477
478   *) Move the KeptBodySize directive, kept_body filters and the
479      ap_parse_request_body function out of the http module and into a
480      new module called mod_request, reducing the size of the core.
481      [Graham Leggett]
482
483   *) mod_dbd: Handle integer configuration directive parameters with a
484      dedicated function.
485
486   *) Change the directives within the mod_session* modules to be valid
487      both inside and outside the location/directory sections, as
488      suggested by wrowe. [Graham Leggett]
489
490   *) mod_auth_form: Add a module capable of allowing end users to log
491      in using an HTML form, storing the credentials within mod_session.
492      [Graham Leggett]
493
494   *) Add a function to the http filters that is able to parse an HTML
495      form request with the type of application/x-www-form-urlencoded.
496      [Graham Leggett]
497
498   *) mod_session_crypto: Initialise SSL in the post config hook.
499      [Ruediger Pluem, Graham Leggett]
500
501   *) mod_session_dbd: Add a session implementation capable of storing
502      session information in a SQL database via the dbd interface. Useful
503      for sites where session privacy is important. [Graham Leggett]
504
505   *) mod_session_crypto: Add a session encoding implementation capable
506      of encrypting and decrypting sessions wherever they may be stored.
507      Introduces a level of privacy when sessions are stored on the
508      browser. [Graham Leggett]
509
510   *) mod_session_cookie: Add a session implementation capable of storing
511      session information within cookies on the browser. Useful for high
512      volume sites where server bound sessions are too resource intensive.
513      [Graham Leggett]
514
515   *) mod_session: Add a generic session interface to unify the different
516      attempts at saving persistent sessions across requests.
517      [Graham Leggett]
518
519   *) core, authn/z: Avoid calling access control hooks for internal requests
520      with configurations which match those of initial request.  Revert to
521      original behaviour (call access control hooks for internal requests
522      with URIs different from initial request) if any access control hooks or
523      providers are not registered as permitting this optimization.
524      Introduce wrappers for access control hook and provider registration
525      which can accept additional mode and flag data.  [Chris Darroch]
526
527   *) Introduced ap_expr API for expression evaluation.
528      This is adapted from mod_include, which is the first module
529      to use the new API.
530      [Nick Kew]
531
532   *) mod_authz_dbd: When redirecting after successful login/logout per
533      AuthzDBDRedirectQuery, do not report authorization failure, and use
534      first row returned by database query instead of last row.
535      [Chris Darroch]
536
537   *) mod_ldap: Correctly return all requested attribute values
538      when some attributes have a null value. 
539      PR 44560 [Anders Kaseorg <anders kaseorg.com>]
540
541   *) core: check symlink ownership if both FollowSymlinks and
542      SymlinksIfOwnerMatch are set [Nick Kew]
543
544   *) core: fix origin checking in SymlinksIfOwnerMatch
545      PR 36783 [Robert L Mathews <rob-apache.org.bugs tigertech.net>]
546
547   *) Activate mod_cache, mod_file_cache and mod_disk_cache as part of the
548      'most' set for '--enable-modules' and '--enable-shared-mods'. Include 
549      mod_mem_cache in 'all' as well. [Dirk-Willem van Gulik]
550
551   *) Also install mod_so.h, mod_rewrite.h and mod_cache.h; as these
552      contain public function declarations which are useful for
553      third party module authors. PR 42431 [Dirk-Willem van Gulik].
554
555   *) mod_dir, mod_negotiation: pass the output filter information
556      to newly created sub requests; as these are later on used
557      as true requests with an internal redirect. This allows for
558      mod_cache et.al. to trap the results of the redirect. 
559      [Dirk-Willem van Gulik, Ruediger Pluem]
560
561   *) mod_ldap: Add support (taking advantage of the new APR capability)
562      for ldap rebind callback while chasing referrals. This allows direct
563      searches on LDAP servers (in particular MS Active Directory 2003+)
564      using referrals without the use of the global catalog.
565      PRs 26538, 40268, and 42557 [Paul J. Reder]
566
567   *) mod_ssl: Added server name indication support (SNI, RFC 4366).
568      PR 34607. [Kaspar Brand <asfbugz velox.ch>]. A test configuration
569      can be created with test/make_sni.sh [Dirk-Willem van Gulik].
570
571   *) ApacheMonitor.exe: Introduce --kill argument for use by the
572      installer.  This will permit the installation tool to remove
573      all running instances before attempting to remove the .exe.
574      [William Rowe]
575
576   *) mod_ssl: Add support for OCSP validation of client certificates.
577      PR 41123.  [Marc Stern <marc.stern approach.be>, Joe Orton]
578
579   *) mod_serf: New module for Reverse Proxying. [Paul Querna]
580
581   *) core: Add the option to keep aside a request body up to a certain
582      size that would otherwise be discarded, to be consumed by filters
583      such as mod_include. When enabled for a directory, POST requests
584      to shtml files can be passed through to embedded scripts as POST
585      requests, rather being downgraded to GET requests. [Graham Leggett]
586
587   *) mod_ssl: Fix TLS upgrade (RFC 2817) support.  PR 41231.  [Joe Orton]
588
589   *) scoreboard: Correctly declare ap_time_process_request.
590      PR 43789 [Tom Donovan <Tom.Donovan acm.org>]
591
592   *) core; scoreboard: ap_get_scoreboard_worker(sbh) now takes the sbh member
593      from the connection rec, ap_get_scoreboard_worker(proc, thread) will now
594      provide the unusual legacy lookup.  [William Rowe]
595
596   *) mpm winnt: fix null pointer dereference
597      PR 42572 [Davi Arnaut]
598
599   *) mod_authnz_ldap, mod_authn_dbd: Tidy up the code to expose authn
600      parameters to the environment. Improve portability to
601      EBCDIC machines by using apr_toupper(). [Martin Kraemer]
602
603   *) mod_ldap, mod_authnzldap: Add support for nested groups (i.e. the ability
604      to authorize an authenticated user via a "require ldap-group X" directive
605      where the user is not in group X, but is in a subgroup contained in X.
606      PR 42891 [Paul J. Reder]
607
608   *) mod_ssl: Add support for caching SSL Sessions in memcached. [Paul Querna]
609
610   *) mod_ldap: Fix the search limit parameter to ldap_search_ext_s()
611      for SDKs that define LDAP_NO_LIMIT to something other than -1.
612      [David Jones <oscaremma gmail.com>]
613
614   *) apxs: Enhance -q flag to print all known variables and their values
615      when invoked without variable name(s). 
616      [William Rowe, Sander Temme]
617
618   *) apxs: Eliminate run-time check for mod_so.  PR 40653.
619      [David M. Lee <dmlee crossroads.com>]
620
621   *) beos MPM: Create pmain pool and run modules' child_init hooks when
622      entering ap_mpm_run(), then destroy pmain when exiting ap_mpm_run().
623      [Chris Darroch]
624
625   *) netware MPM: Destroy pmain pool when exiting ap_mpm_run() so that
626      cleanups registered in modules' child_init hooks are performed.
627      [Chris Darroch]
628
629   *) mod_dbd: Stash DBD connections in request_config of initial request
630      only, or else sub-requests and internal redirections may cause
631      entire DBD pool to be stashed in a single HTTP request.  [Chris Darroch]
632
633   *) Fix issue which could cause error messages to be written to access logs
634      on Win32.  PR 40476.  [Tom Donovan <Tom.Donovan acm.org>]
635
636   *) The LockFile directive, which specifies the location of
637      the accept() mutex lockfile, is deprecated. Instead, the
638      AcceptMutex directive now takes an optional lockfile
639      location parameter, ala SSLMutex. [Jim Jagielski]
640
641   *) mod_authn_dbd: Export any additional columns queried in the SQL select
642      into the environment with the name AUTHENTICATE_<COLUMN>. This brings
643      mod_authn_dbd behaviour in line with mod_authnz_ldap. [Graham Leggett]
644
645   *) mod_dbd: Key the storage of prepared statements on the hex string
646      value of server_rec, rather than the server name, as the server name
647      may change (eg when the server name is set) at any time, causing
648      weird behaviour in modules dependent on mod_dbd. [Graham Leggett]
649
650   *) mod_proxy_fcgi: Added win32 build. [Mladen Turk]
651
652   *) sendfile_nonblocking() takes the _brigade_ as an argument, gets 
653      the first bucket from the brigade, finds it not to be a FILE
654      bucket and barfs. The fix is to pass a bucket rather than a brigade.
655      [Niklas Edmundsson <nikke acc.umu.se>]
656
657   *) mod_rewrite: support rewritemap by SQL query [Nick Kew]
658
659   *) ap_get_server_version() has been removed.  Third-party modules must 
660      now use ap_get_server_banner() or ap_get_server_description().
661      [Jeff Trawick]
662
663   *) All MPMs: Introduce a check_config phase between pre_config and
664      open_logs, to allow modules to review interdependent configuration
665      directive values and adjust them while messages can still be logged
666      to the console.  Handle relevant MPM directives during this phase
667      and format messages for both the console and the error log, as
668      appropriate.  [Chris Darroch]
669
670   *) mod_proxy: don't URLencode tilde in path component
671      [Stijn Hoop <stijn sandcat.nl>]
672
673   *) mpm_winnt: Fix return values from wait_for_many_objects.
674      The return value is index to the signaled thread in the
675      creted_threads array. We can not use WAIT_TIMEOUT because
676      his value is defined as 258, thus limiting the MaxThreads
677      to that value. [Mladen Turk]
678
679   *) core: Do not allow internal redirects like the DirectoryIndex of mod_dir
680      to circumvent the symbolic link checks imposed by FollowSymLinks and
681      SymLinksIfOwnerMatch. [Nick Kew, Ruediger Pluem, William Rowe]
682
683   *) New SSLLogLevelDebugDump [ None (default) | IO (not bytes) | Bytes ]
684      configures the I/O Dump of SSL traffic, when LogLevel is set to Debug.
685      The default is none as this is far greater debugging resolution than 
686      the typical administrator is prepared to untangle.  [William Rowe]
687
688   *) mod_disk_cache: If possible, check if the size of an object to cache is
689      within the configured boundaries before actually saving data.
690      [Niklas Edmundsson <nikke acc.umu.se>]
691
692   *) mod_disk_cache: Delete temporary files if they cannot be renamed to their
693      final name. [Davi Arnaut <davi haxent.com.br>]
694
695   *) Worker and event MPMs: Remove improper scoreboard updates which were
696      performed in the event of a fork() failure.  [Chris Darroch]
697
698   *) Add support for fcgi:// proxies to mod_rewrite.
699      [Markus Schiegl <ms schiegl.com>]
700
701   *) Remove incorrect comments from scoreboard.h regarding conditional
702      loading of worker_score structure with mod_status, and remove unused
703      definitions relating to old life_status field.
704      [Chris Darroch <chrisd pearsoncmg.com>]
705
706   *) Remove allocation of memory for unused array of lb_score pointers
707      in ap_init_scoreboard().  [Chris Darroch <chrisd pearsoncmg.com>]
708
709   *) Add mod_proxy_fcgi, a FastCGI back end for mod_proxy.
710      [Garrett Rooney, Jim Jagielski, Paul Querna]
711
712   *) Event MPM: Fill in the scoreboard's tid field. PR 38736.
713      [Chris Darroch <chrisd pearsoncmg.com>]
714
715   *) mod_charset_lite: Remove Content-Length when output filter can 
716      invalidate it.  Warn when input filter can invalidate it.
717      [Jeff Trawick]
718
719   *) Authz: Add the new module mod_authn_core that will provide common
720      authn directives such as 'AuthType', 'AuthName'.  Move the directives
721      'AuthType' and 'AuthName' out of the core module and merge mod_authz_alias 
722      into mod_authn_core. [Brad Nicholes]
723
724   *) Authz: Move the directives 'Order', 'Allow', 'Deny' and 'Satisfy' 
725      into the new module mod_access_compat which can be loaded to provide 
726      support for these directives.
727      [Brad Nicholes]
728
729   *) Authz: Move the 'Require' directive from the core module as well as 
730      add the directives '<SatisfyAll>', '<SatisfyOne>', '<RequireAlias>' 
731      and 'Reject' to mod_authz_core. The new directives introduce 'AND/OR' 
732      logic into the authorization processing. [Brad Nicholes]
733
734   *) Authz: Add the new module mod_authz_core which acts as the 
735      authorization provider vector and contains common authz 
736      directives. [Brad Nicholes]
737
738   *) Authz: Renamed mod_authz_dbm authz providers from 'group' and 
739      'file-group' to 'dbm-group' and 'dbm-file-group'. [Brad Nicholes]
740
741   *) Authz: Added the new authz providers 'env', 'ip', 'host', 'all' to handle
742      host-based access control provided by mod_authz_host and invoked 
743      through the 'Require' directive. [Brad Nicholes]
744
745   *) Authz: Convert all of the authz modules from hook based to 
746      provider based. [Brad Nicholes]
747
748   *) mod_cache: Add CacheMinExpire directive to set the minimum time in
749      seconds to cache a document.
750      [Brian Akins <brian.akins turner.com>, Ruediger Pluem]
751
752   *) mod_authz_dbd: SQL authz with Login/Session support [Nick Kew]
753
754   *) Fix typo in ProxyStatus syntax error message.
755      [Christophe Jaillet <christophe.jaillet wanadoo.fr>]
756
757   *) Asynchronous write completion for the Event MPM.  [Brian Pane]
758
759   *) Added an End-Of-Request bucket type.  The logging of a request and
760      the freeing of its pool are now done when the EOR bucket is destroyed.
761      This has the effect of delaying the logging until right after the last
762      of the response is sent; ap_core_output_filter() calls the access logger
763      indirectly when it destroys the EOR bucket.  [Brian Pane]
764
765   *) Rewrite of logresolve support utility: IPv6 addresses are now supported
766      and the format of statistical output has changed. [Colm MacCarthaigh]
767
768   *) Rewrite of ap_coreoutput_filter to do nonblocking writes  [Brian Pane]
769
770   *) Added new connection states for handler and write completion
771      [Brian Pane]
772
773   *) mod_cgid: Refuse to work on Solaris 10 due to OS bugs.  PR 34264.
774      [Justin Erenkrantz]
775
776   *) Teach mod_ssl to use arbitrary OIDs in an SSLRequire directive,
777      allowing string-valued client certificate attributes to be used for
778      access control, as in: SSLRequire "value" in OID("1.3.6.1.4.1.18060.1")
779      [Martin Kraemer, David Reid]
780
781   [Apache 2.1.0-dev includes those bug fixes and changes with the
782    Apache 2.2.xx tree as documented, and except as noted, below.]
783
784 Changes with Apache 2.2.x and later:
785
786   *) http://svn.apache.org/viewvc/httpd/httpd/branches/2.2.x/CHANGES?view=markup
787
788 Changes with Apache 2.0.x and later:
789
790   *) http://svn.apache.org/viewvc/httpd/httpd/branches/2.0.x/CHANGES?view=markup
791
792 Changes with Apache 1.3.x and later:
793
794   *) http://svn.apache.org/viewvc/httpd/httpd/branches/1.3.x/src/CHANGES?view=markup