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