github.com/krum110487/go-htaccess@v0.0.0-20240316004156-60641c8e7598/tests/data/apache_2_2_34/CHANGES.txt (about)

     1                                                           -*- coding: utf-8 -*-
     2  Changes with Apache 2.2.34
     3  
     4    *) Allow single-char field names inadvertantly disallowed in 2.2.32.
     5       PR 61220. [Yann Ylavic]
     6  
     7  Changes with Apache 2.2.33
     8  
     9    *) SECURITY: CVE-2017-7668 (cve.mitre.org)
    10       The HTTP strict parsing changes added in 2.2.32 and 2.4.24 introduced a
    11       bug in token list parsing, which allows ap_find_token() to search past
    12       the end of its input string. By maliciously crafting a sequence of
    13       request headers, an attacker may be able to cause a segmentation fault,
    14       or to force ap_find_token() to return an incorrect value.
    15       [Jacob Champion]
    16  
    17    *) SECURITY: CVE-2017-3169 (cve.mitre.org)
    18       mod_ssl may dereference a NULL pointer when third-party modules call
    19       ap_hook_process_connection() during an HTTP request to an HTTPS port.
    20       [Yann Ylavic]
    21  
    22    *) SECURITY: CVE-2017-3167 (cve.mitre.org)
    23       Use of the ap_get_basic_auth_pw() by third-party modules outside of the
    24       authentication phase may lead to authentication requirements being
    25       bypassed.
    26       [Emmanuel Dreyfus <manu netbsd.org>, Jacob Champion, Eric Covener]
    27  
    28    *) SECURITY: CVE-2017-7679 (cve.mitre.org)
    29       mod_mime can read one byte past the end of a buffer when sending a
    30       malicious Content-Type response header.  [Yann Ylavic]
    31    
    32    *) Fix HttpProtocolOptions to inherit from global to VirtualHost scope.
    33       [Joe Orton]
    34  
    35  Changes with Apache 2.2.32
    36  
    37    *) SECURITY: CVE-2016-8743 (cve.mitre.org)
    38       Enforce HTTP request grammar corresponding to RFC7230 for request lines
    39       and request headers, to prevent response splitting and cache pollution by
    40       malicious clients or downstream proxies. [William Rowe, Stefan Fritsch]
    41  
    42    *) Validate HTTP response header grammar defined by RFC7230, resulting
    43       in a 500 error in the event that invalid response header contents are
    44       detected when serving the response, to avoid response splitting and cache
    45       pollution by malicious clients, upstream servers or faulty modules.
    46       [Stefan Fritsch, Eric Covener, Yann Ylavic]
    47  
    48    *) core: Mitigate [f]cgi CVE-2016-5387 "httpoxy" issues.
    49       [Dominic Scheirlinck <dominic vendhq.com>, Yann Ylavic]
    50  
    51    *) core: Avoid a possible truncation of the faulty header included in the
    52       HTML response when LimitRequestFieldSize is reached.  [Yann Ylavic]
    53  
    54    *) core: Enforce LimitRequestFieldSize after multiple headers with the same
    55       name have been merged. [Stefan Fritsch]
    56  
    57    *) core: Drop Content-Length header and message-body from HTTP 204 responses.
    58       PR 51350 [Luca Toscano]
    59  
    60    *) core: Permit unencoded ';' characters to appear in proxy requests and
    61       Location: response headers. Corresponds to modern browser behavior.
    62       [William Rowe]
    63  
    64    *) core: ap_rgetline_core now pulls from r->proto_input_filters.
    65  
    66    *) core: Correctly parse an IPv6 literal host specification in an absolute
    67       URL in the request line. [Stefan Fritsch]
    68  
    69    *) core: New directive RegisterHttpMethod for registering non-standard
    70       HTTP methods. [Stefan Fritsch]
    71  
    72    *) core: Limit to ten the number of tolerated empty lines between request.
    73       [Yann Ylavic]
    74  
    75    *) core: reject NULLs in request line or request headers.
    76       PR 43039 [Nick Kew]
    77  
    78    *) mod_proxy: Use the correct server name for SNI in case the backend
    79       SSL connection itself is established via a proxy server.
    80       PR 57139 [Szabolcs Gyurko <szabolcs gyurko.org>]
    81  
    82    *) Fix potential rejection of valid MaxMemFree and ThreadStackSize
    83       directives.  [Mike Rumph <mike.rumph oracle.com>]
    84  
    85    *) mod_ssl: Support compilation against libssl built with OPENSSL_NO_SSL3.
    86       [Kaspar Brand]
    87  
    88    *) mod_proxy: Correctly consider error response codes by the backend when
    89       processing failonstatus. PR 59869 [Ruediger Pluem]
    90  
    91    *) mod_proxy: Play/restore the TLS-SNI on new backend connections which
    92       had to be issued because the remote closed the previous/reusable one
    93       during idle (keep-alive) time.  [Yann Ylavic]
    94  
    95    *) mod_ssl: Fix a possible memory leak on restart for custom [EC]DH params.
    96       [Jan Kaluza, Yann Ylavic]
    97  
    98    *) mod_proxy: Fix a regression with 2.2.31 that caused inherited workers to
    99       use a different scoreboard slot then the original one.  PR 58267.
   100       [Ruediger Pluem]
   101  
   102    *) mod_proxy: Fix a race condition that caused a failed worker to be retried
   103       before the retry period is over. [Ruediger Pluem]
   104  
   105    *) mod_proxy: don't recyle backend announced "Connection: close" connections
   106       to avoid reusing it should the close be effective after some new request
   107       is ready to be sent.  [Yann Ylavic]
   108  
   109    *) mod_mem_cache: Fix concurrent removal of stale entries which could lead
   110       to a crash.  PR 43724.  [Yann Ylavic]
   111  
   112    *) mime.types: add common extension "m4a" for MPEG 4 Audio.
   113       PR 57895 [Dylan Millikin <dylan.millikin gmail.com>]
   114  
   115    *) mod_substitute: Allow to configure the patterns merge order with the new
   116       SubstituteInheritBefore on|off directive.  PR 57641
   117       [Marc.Stern <Marc.Stern approach.be>, Yann Ylavic, William Rowe]
   118  
   119    *) mod_mem_cache: Don't cache incomplete responses when the client
   120       connection is aborted before the body is fully read.  PR 45049.
   121       [Nick Pace <nick simplylogic.net>, Edward Lu, Yann Ylavic]
   122  
   123    *) abs: Include OPENSSL_Applink when compiling on Windows, to resolve
   124       failures under Visual Studio 2015 and other mismatched MSVCRT flavors.
   125       PR59630 [Jan Ehrhardt <phpdev ehrhardt.nl>]
   126  
   127    *) core: Support custom ErrorDocuments for HTTP 501 and 414 status codes.
   128       PR 57167 [Edward Lu <Chaosed0 gmail.com>]
   129  
   130  Changes with Apache 2.2.31
   131  
   132    *) Correct win32 build issues for mod_proxy exports, OpenSSL 1.0.x headers.
   133       [Yann Ylavic, Gregg Smith]
   134  
   135  Changes with Apache 2.2.30 (not released)
   136  
   137    *) SECURITY: CVE-2015-3183 (cve.mitre.org)
   138       core: Fix chunk header parsing defect.
   139       Remove apr_brigade_flatten(), buffering and duplicated code from
   140       the HTTP_IN filter, parse chunks in a single pass with zero copy.
   141       Limit accepted chunk-size to 2^63-1 and be strict about chunk-ext
   142       authorized characters.  [Graham Leggett, Yann Ylavic]
   143  
   144    *) http: Fix LimitRequestBody checks when there is no more bytes to read.
   145       [Michael Kaufmann <mail michael-kaufmann.ch>]
   146  
   147    *) core: Allow spaces after chunk-size for compatibility with implementations
   148       using a pre-filled buffer.  [Yann Ylavic, Jeff Trawick]
   149  
   150    *) mod_ssl: bring SNI behavior into better conformance with RFC 6066:
   151       no longer send warning-level unrecognized_name(112) alerts. PR 56241.
   152       [Kaspar Brand]
   153  
   154    *) http: Make ap_die() robust against any HTTP error code and not modify
   155       response status (finally logged) when nothing is to be done. PR 56035.
   156       [Yann Ylavic]
   157  
   158    *) core, modules: Avoid error response/document handling by the core if some
   159       handler or input filter already did it while reading the request (causing
   160       a double response body).  [Yann Ylavic]
   161  
   162    *) FreeBSD: Disable IPv4-mapped listening sockets by default for versions
   163       5+ instead of just for FreeBSD 5. PR 53824.  [Jeff Trawick,
   164       Olli Hauer <ohauer gmx de>]
   165  
   166    *) mod_proxy: use the original (non absolute) form of the request-line's URI
   167       for requests embedded in CONNECT payloads used to connect SSL backends via
   168       a ProxyRemote forward-proxy.  PR 55892.  [Hendrik Harms <hendrik.harms
   169       gmail com>, William Rowe, Yann Ylavic]
   170  
   171    *) mpm_winnt: Accept utf-8 (Unicode) service names and descriptions for
   172       internationalization.  [William Rowe]
   173  
   174    *) mod_log_config: Implement logging for sub second timestamps and
   175       request end time.  [Rainer Jung]
   176  
   177    *) mod_log_config: Ensure that time data is consistent if multiple
   178       duration patterns are used in combination, e.g. %D and %{ms}T.
   179       [Rainer Jung]
   180  
   181    *) mod_log_config: Add "%{UNIT}T" format to output request duration in
   182       seconds, milliseconds or microseconds depending on UNIT ("s", "ms", "us").
   183       [Ben Reser, Rainer Jung]
   184  
   185    *) In alignment with RFC 7525, the default recommended SSLCipherSuite
   186       and SSLProxyCipherSuite now exclude RC4 as well as MD5. Also, the
   187       default recommended SSLProtocol and SSLProxyProtocol directives now
   188       exclude SSLv3. Existing configurations must be adjusted by the
   189       administrator. [William Rowe]
   190  
   191    *) core: Avoid potential use of uninitialized (NULL) request data in
   192       request line error path. [Yann Ylavic]
   193   
   194    *) mod_proxy_http: Use the "Connection: close" header for requests to
   195       backends not recycling connections (disablereuse), including the default
   196       reverse and forward proxies.  [Yann Ylavic]
   197  
   198    *) mod_proxy: Add ap_connection_reusable() for checking if a connection
   199       is reusable as of this point in processing.  [Jeff Trawick]
   200  
   201    *) mod_proxy: Reuse proxy/balancer workers' parameters and scores across
   202       graceful restarts, even if new workers are added, old ones removed, or
   203       the order changes.  [Jan Kaluza, Yann Ylavic]
   204  
   205    *) mod_ssl: 'SSLProtocol ALL' was being ignored in virtual host context. 
   206       PR 57100.  [Michael Kaufmann <apache-bugzilla michael-kaufmann.ch>,
   207       Yann Ylavic]
   208  
   209    *) mod_ssl: Improve handling of ephemeral DH and ECDH keys by
   210       allowing custom parameters to be configured via SSLCertificateFile,
   211       and by adding standardized DH parameters for 1024/2048/3072/4096 bits.
   212       Unless custom parameters are configured, the standardized parameters
   213       are applied based on the certificate's RSA/DSA key size. [Kaspar Brand]
   214   
   215    *) mod_ssl: drop support for export-grade ciphers with ephemeral RSA
   216       keys, and unconditionally disable aNULL, eNULL and EXP ciphers
   217       (not overridable via SSLCipherSuite). [Kaspar Brand]
   218  
   219    *) mod_ssl: Add support for configuring persistent TLS session ticket
   220       encryption/decryption keys (useful for clustered environments).
   221       [Paul Querna, Kaspar Brand]
   222  
   223    *) SSLProtocol and SSLCipherSuite recommendations in the example/default
   224       conf/extra/httpd-ssl.conf file are now global in scope, affecting all
   225       VirtualHosts (matching 2.4 default configuration). [William Rowe]
   226  
   227    *) mod_authn_dbd: Fix lifetime of DB lookup entries independently of the
   228       selected DB engine.  PR 46421.  [Jan Kaluza].
   229  
   230    *) Turn static function get_server_name_for_url() into public
   231       ap_get_server_name_for_url() and use it where appropriate. This
   232       fixes mod_rewrite generating invalid URLs for redirects to IPv6
   233       literal addresses. PR 52831 [Stefan Fritsch]
   234  
   235    *) dav_validate_request: avoid validating locks and ETags when there are
   236       no If headers providing them on a resource we aren't modifying.
   237       [Ben Reser]
   238  
   239    *) mod_ssl: New directive SSLSessionTickets (On|Off).
   240       The directive controls the use of TLS session tickets (RFC 5077),
   241       default value is "On" (unchanged behavior).
   242       Session ticket creation uses a random key created during web
   243       server startup and recreated during restarts. No other key
   244       recreation mechanism is available currently. Therefore using session
   245       tickets without restarting the web server with an appropriate frequency
   246       (e.g. daily) compromises perfect forward secrecy. [Rainer Jung]
   247  
   248    *) mod_deflate: Define APR_INT32_MAX when it is missing so to be able to
   249       compile against APR-1.2.x (minimum required version). [Yann Ylavic]
   250  
   251    *) mod_reqtimeout: Don't let pipelining checks interfere with the timeouts
   252       computed for subsequent requests.  PR 56729.  [Eric Covener]
   253  
   254  Changes with Apache 2.2.29
   255  
   256    *) Corrected docs/manual pages for new MergeTrailers directive and other
   257       out of date documentation. [William Rowe]
   258  
   259  Changes with Apache 2.2.28 (not released)
   260  
   261    *) SECURITY: CVE-2014-0118 (cve.mitre.org)
   262       mod_deflate: The DEFLATE input filter (inflates request bodies) now
   263       limits the length and compression ratio of inflated request bodies to avoid
   264       denial of service via highly compressed bodies.  See directives
   265       DeflateInflateLimitRequestBody, DeflateInflateRatioLimit,
   266       and DeflateInflateRatioBurst. [Yann Ylavic, Eric Covener]
   267  
   268    *) SECURITY: CVE-2014-0231 (cve.mitre.org)
   269       mod_cgid: Fix a denial of service against CGI scripts that do
   270       not consume stdin that could lead to lingering HTTPD child processes
   271       filling up the scoreboard and eventually hanging the server.  By
   272       default, the client I/O timeout (Timeout directive) now applies to
   273       communication with scripts.  The CGIDScriptTimeout directive can be
   274       used to set a different timeout for communication with scripts.
   275       [Rainer Jung, Eric Covener, Yann Ylavic]
   276  
   277    *) SECURITY: CVE-2014-0226 (cve.mitre.org)
   278       Fix a race condition in scoreboard handling, which could lead to
   279       a heap buffer overflow.  [Joe Orton, Eric Covener, Jeff Trawick]
   280   
   281    *) SECURITY: CVE-2013-5704 (cve.mitre.org)
   282       core: HTTP trailers could be used to replace HTTP headers
   283       late during request processing, potentially undoing or
   284       otherwise confusing modules that examined or modified
   285       request headers earlier.  Adds "MergeTrailers" directive to restore
   286       legacy behavior.  [Edward Lu, Yann Ylavic, Joe Orton, Eric Covener]
   287  
   288    *) core: Detect incomplete request and response bodies, log an error and
   289       forward it to the underlying filters. PR 55475.  [Yann Ylavic]
   290  
   291    *) mod_deflate: Handle Zlib header and validation bytes received in multiple
   292       chunks. PR 46146. [Yann Ylavic]
   293  
   294    *) mod_proxy: Don't reuse a SSL backend connection whose requested SNI
   295       differs. PR 55782.  [Yann Ylavic]
   296   
   297    *) mod_deflate: Fix inflation of files larger than 4GB. PR 56062.
   298       [Lukas Bezdicka <social v3.sk>]
   299  
   300    *) mod_dav: Fix improper encoding in PROPFIND responses.  PR 56480.
   301       [Ben Reser]
   302  
   303    *) mod_ssl: Extend the scope of SSLSessionCacheTimeout to sessions
   304       resumed by TLS session resumption (RFC 5077). [Rainer Jung]
   305  
   306    *) mod_proxy_ajp: Forward local IP address as a custom request attribute
   307       like we already do for the remote port. [Rainer Jung]
   308  
   309    *) mod_deflate: Don't fail when flushing inflated data to the user-agent
   310       and that coincides with the end of stream ("Zlib error flushing inflate
   311       buffer"). PR 56196. [Christoph Fausak <christoph fausak glueckkanja.com>]
   312  
   313    *) mod_cache, mod_disk_cache: With CacheLock enabled, responses with a Vary 
   314       header might not get the benefit of the thundering herd protection due to 
   315       an incorrect internal cache key.  PR 50317. 
   316       [Ruediger Pluem, Jan Kaluza, Yann Ylavic]
   317  
   318    *) mod_rewrite: Support session cookies with the CO= flag when later
   319       parameters are used.  The doc for this implied the feature had been
   320       backported for quite some time.  PR56014 [Eric Covener]
   321  
   322    *) mod_cache: Don't remove stale cache entries that cannot be conditionally
   323       revalidated. This prevents the thundering herd protection from serving
   324       stale responses during a revalidation. PR 50317.
   325       [Eric Covener, Jan Kaluza,  Ruediger Pluem]
   326  
   327    *) core: Increase TCP_DEFER_ACCEPT socket option to from 1 to 30 seconds. 
   328       PR 41270. [Dean Gaudet <dean arctic org>]
   329  
   330  Changes with Apache 2.2.27
   331  
   332    *) SECURITY: CVE-2014-0098 (cve.mitre.org)
   333       Clean up cookie logging with fewer redundant string parsing passes.
   334       Log only cookies with a value assignment. Prevents segfaults when
   335       logging truncated cookies.
   336       [William Rowe, Ruediger Pluem, Jim Jagielski]
   337  
   338    *) SECURITY: CVE-2013-6438 (cve.mitre.org)
   339       mod_dav: Keep track of length of cdata properly when removing
   340       leading spaces. Eliminates a potential denial of service from
   341       specifically crafted DAV WRITE requests
   342       [Amin Tora <Amin.Tora neustar.biz>]
   343  
   344    *) core: draft-ietf-httpbis-p1-messaging-23 corrections regarding
   345       TE/CL conflicts. [Yann Ylavic <ylavic.dev gmail com>, Jim Jagielski]
   346  
   347    *) mod_proxy_http: Core dumped under high load. PR 50335.
   348       [Jan Kaluza <jkaluza redhat.com>]
   349  
   350    *) proxy_util: NULL terminate the right buffer in 'send_http_connect'.
   351       [Christophe Jaillet]
   352  
   353    *) mod_proxy: Remove (never documented) <Proxy ~ wildcard-url> syntax which
   354       is equivalent to <ProxyMatch wildcard-url>. [Christophe Jaillet]
   355  
   356    *) mod_ldap: Fix a potential memory leak or corruption.  PR 54936.
   357       [Zhenbo Xu <zhenbo1987 gmail com>]
   358  
   359    *) mod_ssl: Do not perform SNI / Host header comparison in case of a
   360       forward proxy request. [Ruediger Pluem]
   361  
   362    *) mod_rewrite: Add mod_rewrite.h to the headers installed on Windows. 
   363       PR46679 [Bob Ionescu]
   364  
   365  Changes with Apache 2.2.26
   366  
   367    *) mod_dav: dav_resource->uri treated as unencoded. This was an
   368       unnecessary ABI changed introduced in 2.2.25  PR 55397.  [Ben Reser]
   369  
   370    *) mod_dav: Do not validate locks against parent collection of COPY
   371       source URI.  PR 55304.  [Ben Reser]
   372  
   373    *) mod_ssl: Check SNI hostname against Host header case-insensitively.
   374       PR 49491.  [Mayank Agrawal <magrawal.08 gmail.com>]
   375  
   376    *) mod_ssl: enable support for ECC keys and ECDH ciphers.  Tested against
   377       OpenSSL 1.0.0b3.  [Vipul Gupta vipul.gupta sun.com, Sander Temme,
   378       Stefan Fritsch]
   379  
   380    *) mod_ssl: Change default for SSLCompression to off, as compression
   381       causes security issues in most setups. (The so called "CRIME" attack).
   382       [Stefan Fritsch]
   383  
   384    *) mod_ssl: Fix compilation error when OpenSSL does not contain
   385       support for SSLv2. Problem was introduced in 2.2.25. PR 55194.
   386       [Rainer Jung, Kaspar Brand]
   387  
   388    *) mod_dav: Fix double encoding of URIs in XML and Location header (caused
   389       by unintential ABI change in 2.2.25).  PR 55397.  [Ben Reser] 
   390  
   391  Changes with Apache 2.2.25
   392  
   393    *) SECURITY: CVE-2013-1896 (cve.mitre.org)
   394       mod_dav: Sending a MERGE request against a URI handled by mod_dav_svn with
   395       the source href (sent as part of the request body as XML) pointing to a
   396       URI that is not configured for DAV will trigger a segfault. [Ben Reser
   397       <ben reser.org>]
   398  
   399    *) SECURITY: CVE-2013-1862 (cve.mitre.org)
   400       mod_rewrite: Ensure that client data written to the RewriteLog is
   401       escaped to prevent terminal escape sequences from entering the
   402       log file.  [Eric Covener, Jeff Trawick, Joe Orton]
   403  
   404    *) core: Limit ap_pregsub() to 64MB and add ap_pregsub_ex() for longer
   405       strings.  The default limit for ap_pregsub() can be adjusted at compile
   406        time by defining AP_PREGSUB_MAXLEN.  [Stefan Fritsch, Jeff Trawick]
   407  
   408    *) core: Support the SINGLE_LISTEN_UNSERIALIZED_ACCEPT optimization
   409       on Linux kernel versions 3.x and above.  PR 55121.  [Bradley Heilbrun
   410       <apache heilbrun.org>]
   411  
   412    *) mod_setenvif: Log error on substitution overflow.
   413       [Stefan Fritsch]
   414  
   415    *) mod_ssl/proxy: enable the SNI extension for backend TLS connections
   416       [Kaspar Brand]
   417  
   418    *) mod_proxy: Use the the same hostname for SNI as for the HTTP request when
   419       forwarding to SSL backends. PR 53134.
   420       [Michael Weiser <michael weiser.dinsnail.net>, Ruediger Pluem]
   421  
   422    *) mod_ssl: Quiet FIPS mode weak keys disabled and FIPS not selected emits
   423       in the error log to debug level.  [William Rowe]
   424  
   425    *) mod_ssl: Catch missing, mismatched or encrypted client cert/key pairs
   426       with SSLProxyMachineCertificateFile/Path directives. PR 52212, PR 54698.
   427       [Keith Burdis <keith burdis.org>, Joe Orton, Kaspar Brand]
   428  
   429    *) mod_proxy_balancer: Added balancer parameter failontimeout to allow server
   430       admin to configure an IO timeout as an error in the balancer.
   431       [Daniel Ruggeri]
   432  
   433    *) mod_authnz_ldap: Allow using exec: calls to obtain LDAP bind
   434       password.  [Daniel Ruggeri]
   435  
   436    *) htdigest: Fix buffer overflow when reading digest password file
   437       with very long lines. PR 54893. [Rainer Jung]
   438  
   439    *) mod_dav: Ensure URI is correctly uriencoded on return. PR 54611
   440       [Timothy Wood <tjw omnigroup.com>]
   441  
   442    *) mod_dav: Make sure that when we prepare an If URL for Etag comparison,
   443       we compare unencoded paths. PR 53910 [Timothy Wood <tjw omnigroup.com>]
   444  
   445    *) mod_dav: Sending an If or If-Match header with an invalid ETag doesn't
   446       result in a 412 Precondition Failed for a COPY operation. PR54610
   447       [Timothy Wood <tjw omnigroup.com>]
   448  
   449    *) mod_dav: When a PROPPATCH attempts to remove a non-existent dead
   450       property on a resource for which there is no dead property in the same
   451       namespace httpd segfaults. PR 52559 [Diego Santa Cruz
   452       <diego.santaCruz spinetix.com>]
   453  
   454    *) mod_dav: Do not fail PROPPATCH when prop namespace is not known.
   455       PR 52559 [Diego Santa Cruz <diego.santaCruz spinetix.com>]
   456  
   457    *) mod_dav: Do not segfault on PROPFIND with a zero length DBM.
   458       PR 52559 [Diego Santa Cruz <diego.santaCruz spinetix.com>]
   459  
   460  Changes with Apache 2.2.24
   461  
   462    *) SECURITY: CVE-2012-3499 (cve.mitre.org)
   463       Various XSS flaws due to unescaped hostnames and URIs HTML output in
   464       mod_info, mod_status, mod_imagemap, mod_ldap, and mod_proxy_ftp.
   465       [Jim Jagielski, Stefan Fritsch, Niels Heinen <heinenn google com>]
   466  
   467    *) SECURITY: CVE-2012-4558 (cve.mitre.org)
   468       XSS in mod_proxy_balancer manager interface. [Jim Jagielski,
   469       Niels Heinen <heinenn google com>]
   470  
   471    *) mod_rewrite: Stop merging RewriteBase down to subdirectories
   472       unless new option 'RewriteOptions MergeBase' is configured.
   473       Merging RewriteBase was unconditionally turned on in 2.2.23.
   474       PR 53963. [Eric Covener]
   475  
   476    *) mod_ssl: Send the error message for speaking http to an https port using
   477       HTTP/1.0 instead of HTTP/0.9, and omit the link that may be wrong when
   478       using SNI. PR 50823. [Stefan Fritsch]
   479  
   480    *) mod_ssl: log revoked certificates at level INFO
   481       instead of DEBUG. PR 52162. [Stefan Fritsch]
   482  
   483    *) mod_proxy_ajp: Support unknown HTTP methods. PR 54416.
   484       [Rainer Jung]
   485  
   486    *) mod_dir: Add support for the value 'disabled' in FallbackResource.
   487       [Vincent Deffontaines]
   488  
   489    *) mod_ldap: Fix regression in handling "server unavailable" errors on
   490       Windows.  PR 54140.  [Eric Covener]
   491  
   492    *) mod_ssl: fix a regression with the string rendering of the "UID" RDN
   493       introduced in 2.2.15. PR 54510. [Kaspar Brand]
   494       
   495    *) ab: add TLS1.1/TLS1.2 options to -f switch, and adapt output
   496       to more accurately report the negotiated protocol. PR 53916.
   497       [Nicolás Pernas Maradei <nico emutex com>, Kaspar Brand]
   498  
   499    *) mod_cache: Explicitly allow cache implementations to cache a 206 Partial
   500       Response if they so choose to do so. Previously an attempt to cache a 206
   501       was arbitrarily allowed if the response contained an Expires or
   502       Cache-Control header, and arbitrarily denied if both headers were missing.
   503       Currently the disk and memory cache providers do not cache 206 Partial
   504       Responses. [Graham Leggett]
   505  
   506    *) core: Remove unintentional APR 1.3 dependency introduced with
   507       Apache 2.2.22. [Eric Covener]
   508  
   509    *) core: Use a TLS 1.0 close_notify alert for internal dummy connection if
   510       the chosen listener is configured for https. [Joe Orton]
   511  
   512    *) mod_ssl: Add new directive SSLCompression to disable TLS-level
   513       compression. PR 53219. [Björn Jacke <bjoern j3e de>, Stefan Fritsch]
   514  
   515  Changes with Apache 2.2.23
   516  
   517    *) SECURITY: CVE-2012-0883 (cve.mitre.org)
   518       envvars: Fix insecure handling of LD_LIBRARY_PATH that could lead to the
   519       current working directory to be searched for DSOs. [Stefan Fritsch]
   520  
   521    *) SECURITY: CVE-2012-2687 (cve.mitre.org)
   522       mod_negotiation: Escape filenames in variant list to prevent a
   523       possible XSS for a site where untrusted users can upload files to
   524       a location with MultiViews enabled. [Niels Heinen <heinenn google.com>]
   525  
   526    *) htdbm, htpasswd: Don't crash if crypt() fails (e.g. with FIPS enabled). 
   527       [Paul Wouters <pwouters redhat.com>, Joe Orton]
   528  
   529    *) mod_ldap: Treat the "server unavailable" condition as a transient
   530       error with all LDAP SDKs. [Filip Valder <filip.valder vsb.cz>]
   531  
   532    *) core: Add filesystem paths to access denied / access failed messages.
   533       [Eric Covener]
   534  
   535    *) core: Fix error handling in ap_scan_script_header_err_brigade() if there
   536       is no EOS bucket in the brigade. PR 48272. [Stefan Fritsch]
   537  
   538    *) core: Prevent "httpd -k restart" from killing server in presence of
   539       config error. [Joe Orton]
   540  
   541    *) mod_ssl: when compiled against OpenSSL 1.0.1 or later, allow explicit
   542       control of TLSv1.1 and TLSv1.2 through the SSLProtocol directive,
   543       adding TLSv1.1 and TLSv1.2 support by default given 'SSLProtocol All'.
   544       [Kaspar Brand, William Rowe]
   545  
   546    *) mod_log_config: Fix %{abc}C truncating cookie values at first "=".
   547       PR 53104. [Greg Ames]
   548  
   549    *) Unix MPMs: Fix small memory leak in parent process if connect()
   550       failed when waking up children.  [Joe Orton]
   551  
   552    *) mod_proxy_ajp: Add support for 'ProxyErrorOverride on'. PR 50945.
   553       [Peter Pramberger <peter pramberger.at>, Jim Jagielski]
   554  
   555    *) Added SSLProxyMachineCertificateChainFile directive so the proxy client
   556       can select the proper client certificate when using a chain and the
   557       remote server only lists the root CA as allowed.
   558  
   559    *) mpm_event, mpm_worker: Remain active amidst prevalent child process
   560       resource shortages.  [Jeff Trawick]
   561  
   562    *) mod_rewrite: Add "AllowAnyURI" option. PR 52774. [Joe Orton]
   563  
   564    *) mod_rewrite: Fix the RewriteEngine directive to work within a
   565       location. Previously, once RewriteEngine was switched on globally,
   566       it was impossible to switch off. [Graham Leggett]
   567  
   568    *) mod_proxy_balancer: Restore balancing after a failed worker has
   569       recovered when using lbmethod_bybusyness.  PR 48735.  [Jeff Trawick]
   570  
   571    *) mod_dumpio: Properly handle errors from subsequent input filters.
   572       PR 52914. [Stefan Fritsch]
   573  
   574    *) mpm_worker: Fix cases where the spawn rate wasn't reduced after child
   575       process resource shortages.  [Jeff Trawick]
   576  
   577    *) mpm_prefork: Reduce spawn rate after a child process exits due to
   578       unexpected poll or accept failure.  [Jeff Trawick]
   579  
   580    *) core: Adjust ap_scan_script_header_err*() to prevent mod_cgi and mod_cgid
   581       from logging bogus data in case of errors. [Stefan Fritsch]
   582  
   583    *) mod_disk_cache, mod_mem_cache: Decline the opportunity to cache if the
   584       response is a 206 Partial Content. This stops a reverse proxied partial
   585       response from becoming cached, and then being served in subsequent
   586       responses. PR 49113. [Graham Leggett]
   587  
   588    *) configure: Fix usage with external apr and apu in non-default paths
   589       and recent gcc versions >= 4.6. [Jean-Frederic Clere]
   590  
   591    *) core: Fix building against PCRE 8.30 by switching from the obsolete
   592       pcre_info() to pcre_fullinfo(). PR 52623 [Ruediger Pluem, Rainer Jung]
   593  
   594    *) mod_proxy: Add the forcerecovery balancer parameter that determines if
   595       recovery for balancer workers is enforced. [Ruediger Pluem]
   596  
   597  Changes with Apache 2.2.22
   598  
   599    *) SECURITY: CVE-2011-3368 (cve.mitre.org)
   600       Reject requests where the request-URI does not match the HTTP
   601       specification, preventing unexpected expansion of target URLs in
   602       some reverse proxy configurations.  [Joe Orton]
   603  
   604    *) SECURITY: CVE-2011-3607 (cve.mitre.org)
   605       Fix integer overflow in ap_pregsub() which, when the mod_setenvif module
   606       is enabled, could allow local users to gain privileges via a .htaccess
   607       file. [Stefan Fritsch, Greg Ames]
   608  
   609    *) SECURITY: CVE-2011-4317 (cve.mitre.org)
   610       Resolve additional cases of URL rewriting with ProxyPassMatch or
   611       RewriteRule, where particular request-URIs could result in undesired
   612       backend network exposure in some configurations.
   613       [Joe Orton]
   614  
   615    *) SECURITY: CVE-2012-0021 (cve.mitre.org)
   616       mod_log_config: Fix segfault (crash) when the '%{cookiename}C' log format
   617       string is in use and a client sends a nameless, valueless cookie, causing
   618       a denial of service. The issue existed since version 2.2.17. PR 52256.
   619       [Rainer Canavan <rainer-apache 7val com>]
   620  
   621    *) SECURITY: CVE-2012-0031 (cve.mitre.org)
   622       Fix scoreboard issue which could allow an unprivileged child process 
   623       to cause the parent to crash at shutdown rather than terminate 
   624       cleanly.  [Joe Orton]
   625  
   626    *) SECURITY: CVE-2012-0053 (cve.mitre.org)
   627       Fix an issue in error responses that could expose "httpOnly" cookies
   628       when no custom ErrorDocument is specified for status code 400.
   629       [Eric Covener]
   630  
   631    *) SECURITY: CVE-2012-4557 (cve.mitre.org)
   632       mod_proxy_ajp: Try to prevent a single long request from marking a worker
   633       in error. [Jean-Frederic Clere]
   634  
   635    *) config: Update the default mod_ssl configuration: Disable SSLv2, only
   636       allow >= 128bit ciphers, add commented example for speed optimized cipher
   637       list, limit MSIE workaround to MSIE <= 5. [Kaspar Brand]
   638  
   639    *) core: Fix segfault in ap_send_interim_response(). PR 52315.
   640       [Stefan Fritsch]
   641  
   642    *) mod_log_config: Prevent segfault. PR 50861. [Torsten F�rtsch
   643       <torsten.foertsch gmx.net>]
   644  
   645    *) mod_win32: Invert logic for env var UTF-8 fixing.
   646       Now we exclude a list of vars which we know for sure they dont hold UTF-8
   647       chars; all other vars will be fixed. This has the benefit that now also
   648       all vars from 3rd-party modules will be fixed. PR 13029 / 34985.
   649       [Guenter Knauf]
   650  
   651    *) core: Fix hook sorting for Perl modules, a regression introduced in
   652       2.2.21. PR: 45076. [Torsten Foertsch <torsten foertsch gmx net>]
   653  
   654    *) Fix a regression introduced by the CVE-2011-3192 byterange fix in 2.2.20:
   655       A range of '0-' will now return 206 instead of 200. PR 51878.
   656       [Jim Jagielski]
   657  
   658    *) Example configuration: Fix entry for MaxRanges (use "unlimited" instead
   659       of "0").  [Rainer Jung]
   660  
   661    *) mod_substitute: Fix buffer overrun.  [Ruediger Pluem, Rainer Jung]
   662  
   663  Changes with Apache 2.2.21
   664  
   665    *) SECURITY: CVE-2011-3348 (cve.mitre.org)
   666       mod_proxy_ajp: Respond with HTTP_NOT_IMPLEMENTED when the method is not
   667       recognized.  [Jean-Frederic Clere]
   668  
   669    *) Fix a regression introduced by the CVE-2011-3192 byterange fix in 2.2.20.
   670       PR 51748. [<lowprio20 gmail.com>]
   671  
   672    *) mod_filter: Instead of dropping the Accept-Ranges header when a filter
   673       registered with AP_FILTER_PROTO_NO_BYTERANGE is present,
   674       set the header value to "none". [Eric Covener, Ruediger Pluem]
   675  
   676    *) mod_proxy_ajp: Ignore flushing if headers have not been sent.
   677       PR 51608 [Ruediger Pluem]
   678  
   679    *) mod_dav_fs: Fix segfault if apr DBM driver cannot be loaded. PR 51751.
   680       [Stefan Fritsch]
   681  
   682    *) mod_alias: Adjust log severity of "incomplete redirection target"
   683       message. PR 44020.
   684  
   685    *) mod_rewrite: Check validity of each internal (int:) RewriteMap even if the
   686       RewriteEngine is disabled in server context, avoiding a crash while
   687       referencing the invalid int: map at runtime. PR 50994.
   688       [Ben Noordhuis <info noordhuis nl>]
   689  
   690    *) core: Allow MaxRanges none|unlimited|default and set 'Accept-Ranges: none'
   691       in the case Ranges are being ignored with MaxRanges none.
   692       [Eric Covener]
   693  
   694    *) mod_proxy_ajp: Respect "reuse" flag in END_REPONSE packets.
   695       [Rainer Jung]
   696  
   697  Changes with Apache 2.2.20
   698  
   699    *) SECURITY: CVE-2011-3192 (cve.mitre.org)
   700       core: Fix handling of byte-range requests to use less memory, to avoid
   701       denial of service. If the sum of all ranges in a request is larger than
   702       the original file, ignore the ranges and send the complete file.
   703       PR 51714. [Stefan Fritsch, Jim Jagielski, Ruediger Pluem, Eric Covener]
   704  
   705    *) mod_authnz_ldap: If the LDAP server returns constraint violation,
   706       don't treat this as an error but as "auth denied". [Stefan Fritsch]
   707  
   708    *) mod_filter: Fix FilterProvider conditions of type "resp=" (response
   709       headers) for CGI. [Joe Orton, Rainer Jung]
   710  
   711    *) mod_reqtimeout: Fix a timed out connection going into the keep-alive
   712       state after a timeout when discarding a request body. PR 51103.
   713       [Stefan Fritsch]
   714  
   715    *) core: Do the hook sorting earlier so that the hooks are properly sorted
   716       for the pre_config hook and during parsing the config. [Stefan Fritsch]
   717  
   718  Changes with Apache 2.2.19
   719  
   720    *) Revert ABI breakage in 2.2.18 caused by the function signature change
   721       of ap_unescape_url_keep2f().  This release restores the signature from
   722       2.2.17 and prior, and introduces ap_unescape_url_keep2f_ex().
   723       [Eric Covener]
   724  
   725  Changes with Apache 2.2.18
   726  
   727    *) Log an error for failures to read a chunk-size, and return 408 instead
   728       413 when this is due to a read timeout.  This change also fixes some cases
   729       of two error documents being sent in the response for the same scenario.
   730       [Eric Covener] PR49167
   731  
   732    *) core: Only log a 408 if it is no keepalive timeout. PR 39785
   733       [Ruediger Pluem,  Mark Montague <markmont umich.edu>]
   734  
   735    *) core: Treat timeout reading request as 408 error, not 400.
   736       Log 408 errors in access log as was done in Apache 1.3.x.
   737       PR 39785 [Nobutaka Mantani <nobutaka nobutaka.org>, Stefan Fritsch,
   738       Dan Poirier]
   739  
   740    *) Core HTTP: disable keepalive when the Client has sent
   741       Expect: 100-continue
   742       but we respond directly with a non-100 response.  Keepalive here led
   743       to data from clients continuing being treated as a new request.
   744       PR 47087.  [Nick Kew]
   745  
   746    *) htpasswd: Change the default algorithm for htpasswd to MD5 on all
   747       platforms. Crypt with its 8 character limit is not useful anymore;
   748       improve out of disk space handling (PR 30877); print a warning if
   749       a password is truncated by crypt. [Stefan Fritsch]
   750  
   751    *) mod_win32: Added shebang check for '! so that .vbs scripts work as CGI.
   752       Win32's cscript interpreter can only use a single quote as comment char.
   753       [Guenter Knauf]
   754  
   755    *) configure: Fix htpasswd/htdbm libcrypt link errors with some newer
   756       linkers. [Stefan Fritsch]
   757  
   758    *) MinGW build improvements.  PR 49535.  [John Vandenberg
   759       <jayvdb gmail.com>, Jeff Trawick]
   760  
   761    *) mod_ssl, ab: Support OpenSSL compiled without SSLv2 support.
   762       [Stefan Fritsch]
   763  
   764    *) core: AllowEncodedSlashes new option NoDecode to allow encoded slashes
   765       in request URL path info but not decode them. PR 35256,
   766       PR 46830.  [Dan Poirier]
   767  
   768    *) mod_rewrite: Allow to unset environment variables. PR 50746.
   769       [Rainer Jung]
   770  
   771    *) suEXEC: Add Suexec directive to disable suEXEC without renaming the
   772       binary (Suexec Off), or force startup failure if suEXEC is required
   773       but not supported (Suexec On).  [Jeff Trawick]
   774  
   775    *) mod_proxy: Put the worker in error state if the SSL handshake with the
   776       backend fails. PR 50332.
   777       [Daniel Ruggeri <DRuggeri primary.net>, Ruediger Pluem]
   778  
   779    *) prefork: Update MPM state in children during a graceful restart.
   780       Allow the HTTP connection handling loop to terminate early
   781       during a graceful restart.  PR 41743.
   782       [Andrew Punch <andrew.punch 247realmedia.com>]
   783  
   784    *) mod_ssl: Correctly read full lines in input filter when the line is
   785       incomplete during first read. PR 50481. [Ruediger Pluem]
   786  
   787    *) mod_autoindex: Merge IndexOptions from server to directory context when
   788       the directory has no mod_autoindex directives. PR 47766. [Eric Covener]
   789  
   790    *) mod_cache: Make sure that we never allow a 304 Not Modified response
   791       that we asked for to leak to the client should the 304 response be
   792       uncacheable. PR45341 [Graham Leggett]
   793  
   794    *) mod_dav: Send 400 error if malformed Content-Range header is received for
   795       a put request (RFC 2616 14.16). PR 49825. [Stefan Fritsch]
   796  
   797    *) mod_userdir: Add merging of enable, disable, and filename arguments
   798       to UserDir directive, leaving enable/disable of userlists unmerged.
   799       PR 44076 [Eric Covener]
   800  
   801    *) core: Honor 'AcceptPathInfo OFF' during internal redirects,
   802       such as per-directory mod_rewrite substitutions.  PR 50349.
   803       [Eric Covener]
   804  
   805    *) mod_cache: Check the request to determine whether we are allowed
   806       to return cached content at all, and respect a "Cache-Control:
   807       no-cache" header from a client. Previously, "no-cache" would
   808       behave like "max-age=0". [Graham Leggett]
   809  
   810    *) mod_mem_cache: Add a debug msg when a streaming response exceeds
   811       MCacheMaxStreamingBuffer, since mod_cache will follow up with a scary
   812       'memory allocation failed' debug message. PR 49604. [Eric Covener]
   813  
   814    *) proxy_connect: Don't give up in the middle of a CONNECT tunnel
   815       when the child process is starting to exit.  PR50220. [Eric Covener]
   816  
   817  Changes with Apache 2.2.17
   818  
   819    *) prefork MPM: Run cleanups for final request when process exits gracefully
   820       to work around a flaw in apr-util.  PR 43857.  [Tom Donovan]
   821  
   822    *) mod_reqtimeout: Do not wrongly enforce timeouts for mod_proxy's backend
   823       connections and other protocol handlers (like mod_ftp). Enforce the
   824       timeout for AP_MODE_GETLINE. If there is a timeout, shorten the lingering
   825       close time from 30 to 2 seconds. [Stefan Fritsch]
   826  
   827    *) Proxy balancer: support setting error status according to HTTP response
   828       code from a backend.  PR 48939.  [Daniel Ruggeri <DRuggeri primary.net>]
   829  
   830    *) mod_authnz_ldap: If AuthLDAPCharsetConfig is set, also convert the
   831       password to UTF-8. PR 45318.
   832       [Johannes Müller <joh_m gmx.de>, Stefan Fritsch]
   833  
   834    *) core: check symlink ownership if both FollowSymlinks and
   835       SymlinksIfOwnerMatch are set [Nick Kew]
   836  
   837    *) core: fix origin checking in SymlinksIfOwnerMatch
   838       PR 36783 [Robert L Mathews <rob-apache.org.bugs tigertech.net>]
   839  
   840    *) mod_headers: Enable multi-match-and-replace edit option
   841       PR 46594 [Nick Kew]
   842  
   843    *) mod_log_config: Make ${cookie}C correctly match whole cookie names
   844       instead of substrings. PR 28037. [Dan Franklin <dan dan-franklin.com>,
   845       Stefan Fritsch]
   846  
   847    *) mod_dir, mod_negotiation: Pass the output filter information
   848       to newly created sub requests; as these are later on used
   849       as true requests with an internal redirect. This allows for
   850       mod_cache et.al. to trap the results of the redirect.
   851       PR 17629, 43939
   852       [Dirk-Willem van Gulik, Jim Jagielski, Joe Orton, Ruediger Pluem]
   853  
   854    *) rotatelogs: Fix possible buffer overflow if admin configures a
   855       mongo log file path. [Jeff Trawick]
   856  
   857    *) mod_ssl: Do not do overlapping memcpy. PR 45444 [Joe Orton]
   858  
   859    *) vhost: A purely-numeric Host: header should not be treated as a port.
   860       PR 44979 [Nick Kew]
   861  
   862    *) core: (re)-introduce -T commandline option to suppress documentroot
   863       check at startup.
   864       PR 41887 [Jan van den Berg <janvdberg gmail.com>]
   865  
   866  Changes with Apache 2.2.16
   867  
   868    *) SECURITY: CVE-2010-1452 (cve.mitre.org)
   869       mod_dav, mod_cache: Fix Handling of requests without a path segment.
   870       PR: 49246 [Mark Drayton, Jeff Trawick]
   871  
   872    *) SECURITY: CVE-2010-2068 (cve.mitre.org)
   873       mod_proxy_ajp, mod_proxy_http, mod_reqtimeout: Fix timeout detection
   874       for platforms Windows, Netware and OS2.  PR: 49417. [Rainer Jung]
   875  
   876    *) core: Filter init functions are now run strictly once per request
   877       before handler invocation.  The init functions are no longer run
   878       for connection filters.  PR 49328.  [Joe Orton]
   879  
   880    *) mod_filter: enable it to act on non-200 responses.
   881       PR 48377 [Nick Kew]
   882  
   883    *) mod_ldap: LDAP caching was suppressed (and ldap-status handler returns
   884       title page only) when any mod_ldap directives were used in VirtualHost
   885       context.  [Eric Covener]
   886  
   887    *) mod_ssl: Fix segfault at startup if proxy client certs are shared
   888       across multiple vhosts.  PR 39915.  [Joe Orton]
   889  
   890    *) mod_proxy_http: Log the port of the remote server in various messages.
   891       PR 48812. [Igor Galić <i galic brainsware org>]
   892  
   893    *) apxs: Fix -A and -a options to ignore whitespace in httpd.conf
   894       [Philip M. Gollucci]
   895  
   896    *) mod_dir: add FallbackResource directive, to enable admin to specify
   897       an action to happen when a URL maps to no file, without resorting
   898       to ErrorDocument or mod_rewrite.  PR 47184 [Nick Kew]
   899  
   900    *) mod_rewrite: Allow to set environment variables without explicitly
   901       giving a value. [Rainer Jung]
   902  
   903  Changes with Apache 2.2.15
   904  
   905    *) SECURITY: CVE-2009-3555 (cve.mitre.org)
   906       mod_ssl: Comprehensive fix of the TLS renegotiation prefix injection
   907       attack when compiled against OpenSSL version 0.9.8m or later. Introduces
   908       the 'SSLInsecureRenegotiation' directive to reopen this vulnerability
   909       and offer unsafe legacy renegotiation with clients which do not yet
   910       support the new secure renegotiation protocol, RFC 5746.
   911       [Joe Orton, and with thanks to the OpenSSL Team]
   912  
   913    *) SECURITY: CVE-2009-3555 (cve.mitre.org)
   914       mod_ssl: A partial fix for the TLS renegotiation prefix injection attack
   915       for OpenSSL versions prior to 0.9.8l; reject any client-initiated
   916       renegotiations. Forcibly disable keepalive for the connection if there
   917       is any buffered data readable. Any configuration which requires
   918       renegotiation for per-directory/location access control is still
   919       vulnerable, unless using openssl 0.9.8l or later.
   920       [Joe Orton, Ruediger Pluem, Hartmut Keil <Hartmut.Keil adnovum.ch>]
   921  
   922    *) SECURITY: CVE-2010-0408 (cve.mitre.org)
   923       mod_proxy_ajp: Respond with HTTP_BAD_REQUEST when the body is not sent
   924       when request headers indicate a request body is incoming; not a case of
   925       HTTP_INTERNAL_SERVER_ERROR.  [Niku Toivola <niku.toivola sulake.com>]
   926  
   927    *) SECURITY: CVE-2010-0425 (cve.mitre.org)
   928       mod_isapi: Do not unload an isapi .dll module until the request
   929       processing is completed, avoiding orphaned callback pointers.
   930       [Brett Gervasoni <brettg senseofsecurity.com>, Jeff Trawick]
   931  
   932    *) SECURITY: CVE-2010-0434 (cve.mitre.org)
   933       Ensure each subrequest has a shallow copy of headers_in so that the
   934       parent request headers are not corrupted.  Eliminates a problematic
   935       optimization in the case of no request body.  PR 48359.
   936       [Jake Scott, William Rowe, Ruediger Pluem]
   937  
   938    *) mod_reqtimeout: New module to set timeouts and minimum data rates for
   939       receiving requests from the client. [Stefan Fritsch]
   940  
   941    *) mod_proxy_ajp: Really regard the operation a success, when the client
   942       aborted the connection. In addition adjust the log message if the client
   943       aborted the connection. [Ruediger Pluem]
   944  
   945    *) mod_negotiation: Preserve query string over multiviews negotiation.
   946       This buglet was fixed for type maps in 2.2.6, but the same issue
   947       affected multiviews and was overlooked.
   948       PR 33112.  [Joergen Thomsen <apache jth.net>]
   949  
   950    *) mod_cache: Introduce the thundering herd lock, a mechanism to keep
   951       the flood of requests at bay that strike a backend webserver as
   952       a cached entity goes stale. [Graham Leggett]
   953  
   954    *) mod_proxy_http: Make sure that when an ErrorDocument is served
   955       from a reverse proxied URL, that the subrequest respects the status
   956       of the original request. This brings the behaviour of proxy_handler
   957       in line with default_handler. PR 47106. [Graham Leggett]
   958  
   959    *) mod_log_config: Add the R option to log the handler used within the
   960       request. [Christian Folini <christian.folini netnea com>]
   961  
   962    *) mod_include: Allow fine control over the removal of Last-Modified and
   963       ETag headers within the INCLUDES filter, making it possible to cache
   964       responses if desired. Fix the default value of the SSIAccessEnable
   965       directive. [Graham Leggett]
   966  
   967    *) mod_ssl: Fix a potential I/O hang if a long list of trusted CAs
   968       is configured for client cert auth. PR 46952.  [Joe Orton]
   969  
   970    *) core: Fix potential memory leaks by making sure to not destroy
   971       bucket brigades that have been created by earlier filters.
   972       [Stefan Fritsch]
   973  
   974    *) mod_authnz_ldap: Add AuthLDAPBindAuthoritative to allow Authentication to
   975       try other providers in the case of an LDAP bind failure.
   976       PR 46608.  [Justin Erenkrantz, Joe Schaefer, Tony Stevenson]
   977  
   978    *) mod_proxy, mod_proxy_http: Support remote https proxies
   979       by using HTTP CONNECT.
   980       PR 19188.  [Philippe Dutrueux <lilas evidian.com>, Rainer Jung]
   981  
   982    *) worker: Don't report server has reached MaxClients until it has.
   983       Add message when server gets within MinSpareThreads of MaxClients.
   984       PR 46996.  [Dan Poirier]
   985  
   986    *) mod_ssl: When extracting certificate subject/issuer names to the
   987       SSL_*_DN_* variables, handle RDNs with duplicate tags by
   988       exporting multiple varialables with an "_n" integer suffix.
   989       PR 45875.  [Joe Orton, Peter Sylvester <peter.sylvester edelweb.fr>]
   990  
   991    *) mod_authnz_ldap: Failures to map a username to a DN, or to check a user
   992       password now result in an informational level log entry instead of
   993       warning level.  [Eric Covener]
   994  
   995    *) core: Preserve Port information over internal redirects
   996       PR 35999.  [Jonas Ringh <jonas.ringh cixit.se>]
   997  
   998    *) mod_filter: fix FilterProvider matching where "dispatch" string
   999       doesn't exist.
  1000       PR 48054.  [<tietew gmail.com>]
  1001  
  1002    *) Build: fix --with-module to work as documented
  1003       PR 43881.  [Gez Saunders <gez.saunders virgin.net>]
  1004  
  1005    *) mod_mime: Make RemoveType override the info from TypesConfig.
  1006       PR 38330.  [Stefan Fritsch]
  1007  
  1008    *) mod_proxy: unable to connect to a backend is SERVICE_UNAVAILABLE,
  1009       rather than BAD_GATEWAY or (especially) NOT_FOUND.
  1010       PR 46971.  [Evan Champion <evanc nortel.com>]
  1011  
  1012    *) mod_charset_lite: Honor 'CharsetOptions NoImplicitAdd'.
  1013       [Eric Covener]
  1014  
  1015    *) mod_ldap: If LDAPSharedCacheSize is too small, try harder to purge
  1016       some cache entries and log a warning. Also increase the default
  1017       LDAPSharedCacheSize to 500000. This is a more realistic size suitable
  1018       for the default values of 1024 for LdapCacheEntries/LdapOpCacheEntries.
  1019       PR 46749.  [Stefan Fritsch]
  1020  
  1021    *) mod_disk_cache, mod_mem_cache: don't cache incomplete responses,
  1022       per RFC 2616, 13.8.  PR15866.  [Dan Poirier]
  1023  
  1024    *) mod_rewrite: Make sure that a hostname:port isn't fully qualified if
  1025       the request is a CONNECT request.  PR 47928.
  1026       [Bill Zajac <billz consultla.com>]
  1027  
  1028    *) mod_cache: correctly consider s-maxage in cacheability
  1029       decisions.  [Dan Poirier]
  1030  
  1031    *) core: Return APR_EOF if request body is shorter than the length announced
  1032       by the client. PR 33098.  [Stefan Fritsch]
  1033  
  1034    *) mod_rewrite: Add scgi scheme detection.  [André Malo]
  1035  
  1036    *) mod_mime: Detect invalid use of MultiviewsMatch inside Location and
  1037       LocationMatch sections.  PR 47754.  [Dan Poirier]
  1038  
  1039    *) ab, mod_ssl: Restore compatibility with OpenSSL < 0.9.7g.
  1040       [Guenter Knauf]
  1041  
  1042  Changes with Apache 2.2.14
  1043  
  1044    *) SECURITY: CVE-2009-2699 (cve.mitre.org)
  1045       Fixed in APR 1.3.9.  Faulty error handling in the Solaris pollset support
  1046       (Event Port backend) which could trigger hangs in the prefork and event
  1047       MPMs on that platform.  PR 47645.  [Jeff Trawick]
  1048  
  1049    *) SECURITY: CVE-2009-3095 (cve.mitre.org)
  1050       mod_proxy_ftp: sanity check authn credentials.
  1051       [Stefan Fritsch <sf fritsch.de>, Joe Orton]
  1052  
  1053    *) SECURITY: CVE-2009-3094 (cve.mitre.org)
  1054       mod_proxy_ftp: NULL pointer dereference on error paths.
  1055       [Stefan Fritsch <sf fritsch.de>, Joe Orton]
  1056  
  1057    *) mod_proxy_scgi: Backport from trunk. [André Malo]
  1058  
  1059    *) mod_ldap: Don't try to resolve file-based user ids to a DN when AuthLDAPURL
  1060       has been defined at a very high level.  PR 45946.  [Eric Covener]
  1061  
  1062    *) htcacheclean: 19 ways to fail, 1 error message. Fixed. [Graham Leggett]
  1063  
  1064    *) mod_ldap: Bring the LDAPCacheEntries and LDAPOpCacheEntries
  1065       usage() in synch with the manual and the implementation (0 and -1
  1066       both disable the cache). [Eric Covener]
  1067  
  1068    *) mod_ssl: The error message when SSLCertificateFile is missing should
  1069       at least give the name or position of the problematic virtual host
  1070       definition. [Stefan Fritsch sf sfritsch.de]
  1071  
  1072    *) htdbm: Fix possible buffer overflow if dbm database has very
  1073       long values.  PR 30586 [Dan Poirier]
  1074  
  1075    *) Add support for HTTP PUT to ab. [Jeff Barnes <jbarnesweb yahoo.com>]
  1076  
  1077    *) mod_ssl: Fix SSL_*_DN_UID variables to use the 'userID' attribute
  1078       type.  PR 45107.  [Michael Ströder <michael stroeder.com>,
  1079       Peter Sylvester <peter.sylvester edelweb.fr>]
  1080  
  1081    *) mod_cache: Add CacheIgnoreURLSessionIdentifiers directive to ignore
  1082       defined session identifiers encoded in the URL when caching.
  1083       [Ruediger Pluem]
  1084  
  1085    *) mod_mem_cache: fix seg fault under load due to pool concurrency problem
  1086       PR: 47672 [Dan Poirier <poirier pobox.com>]
  1087  
  1088    *) mod_autoindex: Correctly create an empty cell if the description
  1089       for a file is missing. PR 47682 [Peter Poeml <poeml suse.de>]
  1090  
  1091  Changes with Apache 2.2.13
  1092  
  1093    *) SECURITY: CVE-2009-2412 (cve.mitre.org)
  1094       Distributed with APR 1.3.8 and APR-util 1.3.9 to fix potential overflow
  1095       in pools and rmm, where size alignment was taking place.
  1096       [Matt Lewis <mattlewis@google.com>, Sander Striker]
  1097  
  1098    *) mod_ssl, ab: improve compatibility with OpenSSL 1.0.0 betas.  Report
  1099       warnings compiling mod_ssl against OpenSSL to the httpd developers.
  1100       [Guenter Knauf]
  1101  
  1102    *) mod_cgid: Do not add an empty argument when calling the CGI script.
  1103       PR 46380 [Ruediger Pluem]
  1104  
  1105    *) Fix potential segfaults with use of the legacy ap_rputs() etc
  1106       interfaces, in cases where an output filter fails.  PR 36780.
  1107       [Joe Orton]
  1108  
  1109  Changes with Apache 2.2.12
  1110  
  1111    *) SECURITY: CVE-2009-1891 (cve.mitre.org)
  1112       Fix a potential Denial-of-Service attack against mod_deflate or other
  1113       modules, by forcing the server to consume CPU time in compressing a
  1114       large file after a client disconnects.  PR 39605.
  1115       [Joe Orton, Ruediger Pluem]
  1116  
  1117    *) SECURITY: CVE-2009-1195 (cve.mitre.org)
  1118       Prevent the "Includes" Option from being enabled in an .htaccess
  1119       file if the AllowOverride restrictions do not permit it.
  1120       [Jonathan Peatfield <j.s.peatfield damtp.cam.ac.uk>, Joe Orton,
  1121        Ruediger Pluem, Jeff Trawick]
  1122  
  1123    *) SECURITY: CVE-2009-1890 (cve.mitre.org)
  1124       Fix a potential Denial-of-Service attack against mod_proxy in a
  1125       reverse proxy configuration, where a remote attacker can force a
  1126       proxy process to consume CPU time indefinitely.  [Nick Kew, Joe Orton]
  1127  
  1128    *) SECURITY: CVE-2009-1191 (cve.mitre.org)
  1129       mod_proxy_ajp: Avoid delivering content from a previous request which
  1130       failed to send a request body. PR 46949 [Ruediger Pluem]
  1131  
  1132    *) SECURITY: CVE-2009-0023, CVE-2009-1955, CVE-2009-1956 (cve.mitre.org)
  1133       The bundled copy of the APR-util library has been updated, fixing three
  1134       different security issues which may affect particular configurations
  1135       and third-party modules.
  1136  
  1137    *) mod_headers: Make 'Header set Content-Type' effective on responses
  1138       that already have a Content-Type.  [Issac Goldstand]
  1139  
  1140    *) mod_include: fix potential segfault when handling back references
  1141       on an empty SSI variable. [Ruediger Pluem, Lars Eilebrecht, Nick Kew]
  1142  
  1143    *) mod_alias: check sanity in Redirect arguments.
  1144       PR 44729 [Sönke Tesch <st kino-fahrplan.de>, Jim Jagielski]
  1145  
  1146    *) mod_proxy_http: fix Host: header for literal IPv6 addresses.
  1147       PR 47177 [Carlos Garcia Braschi <cgbraschi gmail.com>]
  1148  
  1149    *) mod_rewrite: Remove locking for writing to the rewritelog.
  1150       PR 46942
  1151  
  1152    *) mod_alias: Ensure Redirect emits HTTP-compliant URLs.
  1153       PR 44020
  1154  
  1155    *) mod_proxy_http: fix case sensitivity checking transfer encoding
  1156       PR 47383 [Ryuzo Yamamoto <ryuzo.yamamoto gmail.com>]
  1157  
  1158    *) mod_rewrite: Fix the error string returned by RewriteRule.
  1159       RewriteRule returned "RewriteCond: bad flag delimiters" when the 3rd
  1160       argument of RewriteRule was not started with "[" or not ended with "]".
  1161       PR 45082 [Vitaly Polonetsky <m_vitaly topixoft.com>]
  1162  
  1163    *) mod_proxy: Complete ProxyPassReverse to handle balancer URL's.  Given;
  1164         BalancerMember balancer://alias http://example.com/foo
  1165         ProxyPassReverse /bash balancer://alias/bar
  1166       backend url http://example.com/foo/bar/that is now translated /bash/that
  1167       [William Rowe]
  1168  
  1169    *) New piped log syntax: Use "||process args" to launch the given process
  1170       without invoking the shell/command interpreter.  Use "|$command line"
  1171       (the default behavior of "|command line" in 2.2) to invoke using shell,
  1172       consuming an additional shell process for the lifetime of the logging
  1173       pipe program but granting additional process invocation flexibility.
  1174       [William Rowe]
  1175  
  1176    *) mod_ssl: Add server name indication support (RFC 4366) and better
  1177       support for name based virtual hosts with SSL. PR 34607
  1178       [Peter Sylvester <peter.sylvester edelweb.fr>,
  1179        Kaspar Brand <asfbugz velox.ch>, Guenter Knauf, Joe Orton,
  1180        Ruediger Pluem]
  1181  
  1182    *) mod_negotiation: Escape pathes of filenames in 406 responses to avoid
  1183       HTML injections and HTTP response splitting.  PR 46837.
  1184       [Geoff Keating <geoffk apple.com>]
  1185  
  1186    *) mod_include: Prevent a case of SSI timefmt-smashing with filter chains
  1187       including multiple INCLUDES filters. PR 39369 [Joe Orton]
  1188  
  1189    *) mod_rewrite: When evaluating a proxy rule in directory context, do
  1190       escape the filename by default. PR 46428 [Joe Orton]
  1191  
  1192    *) mod_proxy_ajp: Check more strictly that the backend follows the AJP
  1193       protocol. [Mladen Turk]
  1194  
  1195    *) mod_ssl: Add SSLProxyCheckPeerExpire and SSLProxyCheckPeerCN directives
  1196       to enable stricter checking of remote server certificates.
  1197       [Ruediger Pluem]
  1198  
  1199    *) mod_substitute: Fix a memory leak. PR 44948
  1200       [Dan Poirier <poirier pobox.com>]
  1201  
  1202    *) mod_proxy_ajp: Forward remote port information by default.
  1203       [Rainer Jung]
  1204  
  1205    *) mod_disk_cache/mod_mem_cache: Fix handling of CacheIgnoreHeaders
  1206       directive to correctly remove headers before storing them.
  1207       [Lars Eilebrecht]
  1208  
  1209    *) mod_deflate: revert changes in 2.2.8 that caused an invalid
  1210       etag to be emitted for on-the-fly gzip content-encoding.
  1211       PR 39727 will require larger fixes and this fix was far more
  1212       harmful than the original code. PR 45023. [Roy T. Fielding]
  1213  
  1214    *) mod_disk_cache: The module now turns off sendfile support if
  1215       'EnableSendfile off' is defined globally. PR 41218.
  1216       [Lars Eilebrecht, Issac Goldstand]
  1217  
  1218    *) prefork: Fix child process hang during graceful restart/stop in
  1219       configurations with multiple listening sockets.  PR 42829.  [Joe Orton,
  1220       Jeff Trawick]
  1221  
  1222    *) mod_ssl: Add SSLRenegBufferSize directive to allow changing the
  1223       size of the buffer used for the request-body where necessary
  1224       during a per-dir renegotiation.  PR 39243.  [Joe Orton]
  1225  
  1226    *) mod_rewrite: Introduce DiscardPathInfo|DPI flag to stop the troublesome
  1227       way that per-directory rewrites append the previous notion of PATH_INFO
  1228       to each substitution before evaluating subsequent rules.
  1229       PR38642 [Eric Covener]
  1230  
  1231    *) mod_authnz_ldap: Reduce number of initialization debug messages and make
  1232       information more clear. PR 46342 [Dan Poirier]
  1233  
  1234    *) mod_cache: Introduce 'no-cache' per-request environment variable
  1235       to prevent the saving of an otherwise cacheable response.
  1236       [Eric Covener]
  1237  
  1238    *) core: Translate the status line to ASCII on EBCDIC platforms in
  1239       ap_send_interim_response() and for locally generated "100 Continue"
  1240       responses.  [Eric Covener]
  1241  
  1242    *) CGI: return 504 (Gateway timeout) rather than 500 when a script
  1243       times out before returning status line/headers.
  1244       PR 42190 [Nick Kew]
  1245  
  1246    *) prefork: Log an error instead of segfaulting when child startup fails
  1247       due to pollset creation failures.  PR 46467.  [Jeff Trawick]
  1248  
  1249    *) mod_ext_filter: fix error handling when the filter prog fails to start,
  1250       and introduce an onfail configuration option to abort the request
  1251       or to remove the broken filter and continue.
  1252       PR 41120 [Nick Kew]
  1253  
  1254    *) mod_include: support generating non-ASCII characters as entities in SSI
  1255       PR 25202 [Nick Kew]
  1256  
  1257    *) core/utils: Enhance ap_escape_html API to support escaping non-ASCII
  1258       chars [Nick Kew]
  1259  
  1260    *) mod_rewrite: fix "B" flag breakage by reverting r589343
  1261       PR 45529 [Bob Ionescu <bobsiegen googlemail.com>]
  1262  
  1263    *) mod_cgid: fix segfault problem on solaris.
  1264       PR 39332 [Masaoki Kobayashi <masaoki techfirm.co.jp>, Jeff Trawick]
  1265  
  1266    *) mod_ldap: Avoid a segfault when result->rc is checked in
  1267       uldap_connection_init when result is NULL. This could happen if LDAP
  1268       initialization failed.  PR 45994. [Dan Poirier <poirier pobox.com>]
  1269  
  1270    *) Set Listen protocol to "https" if port is set to 443 and no proto is
  1271       specified (as documented but not implemented). PR 46066
  1272       [Dan Poirier <poirier pobox.com>]
  1273  
  1274    *) mod_cache: Correctly save Content-Encoding of cachable entity. PR 46401
  1275       [Dan Poirier <poirier pobox.com>]
  1276  
  1277    *) Output -M and -S dumps (modules and vhosts) to stdout instead of stderr.
  1278       PR 42571 and PR 44266 (dup).  [Dan Poirier <poirier pobox.com>]
  1279  
  1280    *) mod_cache: When an explicit Expires or Cache-Control header is set, cache
  1281       normally non-cacheable response statuses. PR 46346.
  1282       [Alex Polvi <alex polvi.net>]
  1283  
  1284  Changes with Apache 2.2.11
  1285  
  1286    *) core: When the ap_http_header_filter processes an error bucket, cleanup
  1287       the passed brigade before returning AP_FILTER_ERROR down the filter
  1288       chain. This unambiguously ensures the same error bucket isn't revisited
  1289       [Ruediger Pluem]
  1290  
  1291    *) core: Error responses set by filters were being coerced into 500 errors,
  1292       sometimes appended to the original error response. Log entry of:
  1293       'Handler for (null) returned invalid result code -3'
  1294       [Eric Covener]
  1295  
  1296    *) configure: Don't reject libtool 2.x
  1297       PR 44817 [Arfrever Frehtes Taifersar Arahesis <Arfrever.FTA gmail.com>]
  1298  
  1299    *) mod_autoindex: add configuration option to insert string
  1300       in HTML HEAD (IndexHeadInsert). [Nick Kew]
  1301  
  1302    *) Add new LogFormat parameter, %k, which logs the number of
  1303       keepalive requests on this connection for this request.
  1304       PR 45762 [Dan Poirier <poirier pobox.com>, Jim Jagielski]
  1305  
  1306    *) Export and install the mod_rewrite.h header to ensure the optional
  1307       rewrite_mapfunc_t and ap_register_rewrite_mapfunc functions are
  1308       available to third party modules. [Graham Leggett]
  1309  
  1310    *) mod_cache: Convert age of cached object to seconds before comparing it to
  1311       age supplied by the request when checking whether to send a Warning
  1312       header for a stale response. PR 39713. [Owen Taylor <otaylor redhat.com>]
  1313  
  1314    *) Build: Correctly set SSL_LIBS during openssl detection if pkgconfig is
  1315       not available. PR 46018 [Ruediger Pluem]
  1316  
  1317    *) mod_proxy_ajp: Do not fail if response data is sent before all request
  1318       data is read. PR 45911 [Ruediger Pluem]
  1319  
  1320    *) mod_proxy_balancer: Add in forced recovery for balancer members if
  1321       all are in error state. [Mladen Turk]
  1322  
  1323    *) mod_proxy: Prevent segmentation faults by correctly adjusting the
  1324       lifetime of the buckets read from the proxy backend. PR 45792
  1325       [Ruediger Pluem]
  1326  
  1327    *) mod_expires: Do not sets negative max-age / Expires header in the past.
  1328       PR 39774 [Jim Jagielski]
  1329  
  1330    *) mod_info: Was displaying the wrong value for the KeepAliveTimeout
  1331       value. [Jim Jagielski]
  1332  
  1333    *) mod_proxy_ajp: Fix wrongly formatted requests where client
  1334       sets Content-Length header, but doesn't provide a body.
  1335       Servlet container always expects that next packet is
  1336       body whenever C-L is present in the headers. This can lead
  1337       to wrong interpretation of the packets. In this case
  1338       send the empty body packet, so container can deal with
  1339       that. [Mladen Turk]
  1340  
  1341    *) core: Add ap_timeout_parameter_parse to public API. [Ruediger Pluem]
  1342  
  1343    *) mod_proxy: Add the possibility to set the worker parameters
  1344       connectiontimeout and ping in milliseconds. [Ruediger Pluem]
  1345  
  1346    *) Worker MPM: Crosscheck that idle workers are still available before using
  1347       them and thus preventing an overflow of the worker queue which causes
  1348       a SegFault. PR 45605 [Denis Ustimenko <denusk gmail.com>]
  1349  
  1350    *) Windows: Always build the odbc dbd driver on windows, to be consistent
  1351       with the apr-util default. [Tom Donovan]
  1352  
  1353  Changes with Apache 2.2.10
  1354  
  1355    *) SECURITY: CVE-2008-2939 (cve.mitre.org)
  1356       mod_proxy_ftp: Prevent XSS attacks when using wildcards in the path of
  1357       the FTP URL. Discovered by Marc Bevand of Rapid7. [Ruediger Pluem]
  1358  
  1359    *) mod_authz_host: Add support for env=!envvar [Jim Jagielski]
  1360  
  1361    *) Allow for smax to be 0 for balancer members so that all idle
  1362       connections are able to be dropped should they exceed ttl.
  1363       PR 43371 [Phil Endecott <spam_from_apache_bugzilla chezphil.org>,
  1364       Jim Jagielski]
  1365  
  1366    *) mod_proxy_http: Don't trigger a retry by the client if a failure to
  1367       read the response line was the result of a timeout.
  1368       [Adam Woodworth <mirkperl gmail.com>]
  1369  
  1370    *) Support chroot on Unix-family platforms
  1371       PR 43596 [Dimitar Pashev <mitko banksoft-bg.com>]
  1372  
  1373    *) mod_ssl: implement dynamic mutex callbacks for the benefit of
  1374       OpenSSL.  [Sander Temme]
  1375  
  1376    *) mod_proxy_balancer: Add 'bybusyness' load balance method.
  1377       [Joel Gluth <joelgluth yahoo.com.au>, Jim Jagielski]
  1378  
  1379    *) mod_authn_alias: Detect during startup when AuthDigestProvider
  1380       is configured to use an incompatible provider via AuthnProviderAlias.
  1381       PR 45196 [Eric Covener]
  1382  
  1383    *) mod_proxy: Add 'scolonpathdelim' parameter to allow for ';' to also be
  1384       used as a session path separator/delim  PR 45158. [Jim Jagielski]
  1385  
  1386    *) mod_charset_lite: Avoid dropping error responses by handling meta buckets
  1387       correctly. PR 45687 [Dan Poirier <poirier pobox.com>]
  1388  
  1389    *) mod_proxy_http: Introduce environment variable proxy-initial-not-pooled
  1390       to avoid reusing pooled connections if the client connection is an
  1391       initial connection. PR 37770. [Ruediger Pluem]
  1392  
  1393    *) mod_rewrite: Allow Cookie option to set secure and HttpOnly flags.
  1394       PR 44799 [Christian Wenz <christian wenz.org>]
  1395  
  1396    *) mod_ssl: Rewrite shmcb to avoid memory alignment issues.  PR 42101.
  1397       [Geoff Thorpe]
  1398  
  1399    *) mod_proxy: Add connectiontimeout parameter for proxy workers in order to
  1400       be able to set the timeout for connecting to the backend separately.
  1401       PR 45445. [Ruediger Pluem, rahul <rahul sun.com>]
  1402  
  1403    *) mod_dav_fs: Retrieve minimal system information about directory
  1404       entries when walking a DAV fs, resolving a performance degradation on
  1405       Windows.  PR 45464.  [Joe Orton, Jeff Trawick]
  1406  
  1407    *) mod_cgid: Pass along empty command line arguments from an ISINDEX
  1408       query that has consecutive '+' characters in the QUERY_STRING,
  1409       matching the behavior of mod_cgi.
  1410       [Eric Covener]
  1411  
  1412    *) mod_headers: Prevent Header edit from processing only the first header
  1413       of possibly multiple headers with the same name and deleting the
  1414       remaining ones. PR 45333.  [Ruediger Pluem]
  1415  
  1416    *) mod_proxy_balancer: Move nonce field in the balancer manager page inside
  1417       the html form where it belongs. PR 45578. [Ruediger Pluem]
  1418  
  1419    *) mod_proxy_http: Do not forward requests with 'Expect: 100-continue' to
  1420       known HTTP/1.0 servers. Return 'Expectation failed' (417) instead.
  1421       [Ruediger Pluem]
  1422  
  1423    *) mod_rewrite: Preserve the query string when [proxy,noescape]. PR 45247.
  1424       [Tom Donovan]
  1425  
  1426  Changes with Apache 2.2.9
  1427  
  1428    *) SECURITY: CVE-2008-2364 (cve.mitre.org)
  1429       mod_proxy_http: Better handling of excessive interim responses
  1430       from origin server to prevent potential denial of service and high
  1431       memory usage. Reported by Ryujiro Shibuya. [Ruediger Pluem,
  1432       Joe Orton, Jim Jagielski]
  1433  
  1434    *) SECURITY: CVE-2007-6420 (cve.mitre.org)
  1435       mod_proxy_balancer: Prevent CSRF attacks against the balancer-manager
  1436       interface.  [Joe Orton]
  1437  
  1438    *) core: Fix address-in-use startup failure on some platforms caused
  1439       by creating an IPv4 listener which overlaps with an existing IPv6
  1440       listener.  [Jeff Trawick]
  1441  
  1442    *) mod_proxy: Make all proxy modules nocanon aware and do not add the
  1443       query string again in this case. PR 44803.
  1444       [Jim Jagielski, Ruediger Pluem]
  1445  
  1446    *) mod_unique_id: Fix timestamp value in UNIQUE_ID.
  1447       PR 37064 [Kobayashi <kobayashi firstserver.co.jp>]
  1448  
  1449    *) htpasswd: Fix salt generation weakness. PR 31440
  1450       [Andreas Krennmair <ak synflood.at>, Peter Watkins <peterw tux.org>,
  1451       Paul Querna]
  1452  
  1453    *) core: Add the filename of the configuration file to the warning message
  1454       about the useless use of AllowOverride. PR 39992.
  1455       [Darryl Miles <darryl darrylmiles.org>]
  1456  
  1457    *) scoreboard: Remove unused proxy load balancer elements from scoreboard
  1458       image (not scoreboard memory itself).  [Chris Darroch]
  1459  
  1460    *) mod_proxy: Support environment variable interpolation in reverse
  1461       proxying directives. [Nick Kew]
  1462  
  1463    *) suexec: When group is given as a numeric gid, validate it by looking up
  1464       the actual group name such that the name can be used in log entries.
  1465       PR 7862 [<y-koga apache.or.jp>, Leif W <warp-9.9 usa.net>]
  1466  
  1467    *) Fix garbled TRACE response on EBCDIC platforms.
  1468       [David Jones <oscaremma gmail.com>]
  1469  
  1470    *) ab: Include <limits.h> earlier if available since we may need
  1471       INT_MAX (defined there on Windows) for the definition of MAX_REQUESTS.
  1472       PR 45024 [Ruediger Pluem]
  1473  
  1474    *) ab: Improve client performance by clearing connection pool instead
  1475       of destroying it. PR 40054 [Brad Roberts <braddr puremagic.com>]
  1476  
  1477    *) ab: Don't stop sending a request if EAGAIN is returned, which
  1478       will only happen if both the write and subsequent wait are
  1479       returning EAGAIN, and count posted bytes correctly when the initial
  1480       write of a request is not complete. PR 10038, 38861, 39679
  1481       [Patrick McManus <mcmanus datapower.com>,
  1482        Stefan Fleiter <stefan.fleiter web.de>,
  1483        Davanum Srinivas, Roy T. Fielding]
  1484  
  1485    *) ab: Overhaul stats collection and reporting to avoid integer
  1486       truncation and time divisions within the test loop, retain
  1487       native time resolution until output, remove unused data,
  1488       consistently round milliseconds, and generally avoid losing
  1489       accuracy of calculation due to type casts. PR 44878, 44931.
  1490       [Roy T. Fielding]
  1491  
  1492    *) ab: Add -r option to continue after socket receive errors.
  1493       [Filip Hanik <devlist hanik.com>]
  1494  
  1495    *) core: Do not allow Options ALL if not all options are allowed to be
  1496       overwritten. PR 44262 [Michał Grzędzicki <lazy iq.pl>]
  1497  
  1498    *) mod_cache: Handle If-Range correctly if the cached resource was stale.
  1499       PR 44579 [Ruediger Pluem]
  1500  
  1501    *) mod_proxy: Do not try a direct connection if the connection via a
  1502       remote proxy failed before and the request has a request body.
  1503       [Ruediger Pluem]
  1504  
  1505    *) mod_proxy_ajp: Do not retry request in the case that we either failed to
  1506       sent a part of the request body or if the request is not idempotent.
  1507       PR 44334 [Ruediger Pluem]
  1508  
  1509    *) mod_rewrite: Initialize hash needed by ap_register_rewrite_mapfunc early
  1510       enough. PR 44641 [Daniel Lescohier <daniel.lescohier cnet.com>]
  1511  
  1512    *) mod_dav: Return "method not allowed" if the destination URI of a WebDAV
  1513       copy / move operation is no DAV resource. PR 44734 [Ruediger Pluem]
  1514  
  1515    *) http_filters: Don't return 100-continue on redirects. PR 43711
  1516       [Ruediger Pluem]
  1517  
  1518    *) mod_ssl: Fix a memory leak with connections that have zlib compression
  1519       turned on. PR 44975 [Joe Orton, Amund Elstad <Amund.Elstad ist.com>,
  1520       Dr Stephen Henson <steve openssl.org>]
  1521  
  1522    *) mod_proxy: Trigger a retry by the client in the case we fail to read the
  1523       response line from the backend by closing the connection to the client.
  1524       PR 37770 [Ruediger Pluem]
  1525  
  1526    *) gen_test_char: add double-quote to the list of T_HTTP_TOKEN_STOP.
  1527       PR 9727 [Ville Skytt <ville.skytta iki.fi>]
  1528  
  1529    *) core: reinstate location walk to fix config for subrequests
  1530       PR 41960 [Jose Kahan <jose w3.org>]
  1531  
  1532    *) rotatelogs: Log the current file size and error code/description
  1533       when failing to write to the log file.  [Jeff Trawick]
  1534  
  1535    *) rotatelogs: Added '-f' option to force rotatelogs to create the
  1536       logfile as soon as started, and not wait until it reads the
  1537       first entry. [Jim Jagielski]
  1538  
  1539    *) rotatelogs: Don't leak memory when reopening the logfile.
  1540       PR 40183 [Ruediger Pluem, Takashi Sato <serai lans-tv.com>]
  1541  
  1542    *) rotatelogs: Improve atomicity when using -l and cleaup code.
  1543       PR 44004 [Rainer Jung]
  1544  
  1545    *) mod_authn_dbd: Disambiguate and tidy database authentication
  1546       error messages.  PR 43210.  [Chris Darroch, Phil Endecott
  1547       <spam_from_apache_bugzilla chezphil.org>]
  1548  
  1549    *) mod_headers: Add 'merge' option to avoid duplicate values within
  1550       the same header. [Chris Darroch]
  1551  
  1552    *) mod_cgid: Explicitly set permissions of the socket (ScriptSock) shared by
  1553       mod_cgid and request processing threads, for OS'es such as HPUX and AIX
  1554       that do not use umask for AF_UNIX socket permissions.
  1555       [Eric Covener, Jeff Trawick]
  1556  
  1557    *) mod_cgid: Don't try to restart the daemon if it fails to initialize
  1558       the socket.  [Jeff Trawick]
  1559  
  1560    *) mod_log_config: Add format options for %p so that the actual local
  1561       or remote port can be logged.  PR 43415.  [Adam Hasselbalch Hansen
  1562       <ahh@one.com>, Ruediger Pluem, Jeff Trawick]
  1563  
  1564    *) Added 'disablereuse' option for ProxyPass which, essentially,
  1565       disables connection pooling for the backend servers.
  1566       [Jim Jagielski]
  1567  
  1568    *) mod_speling: remove regression from 1.3/2.0 behavior and
  1569       drop dependency between mod_speling and AcceptPathInfo.
  1570       PR 43562 [Jose Kahan <jose w3.org>]
  1571  
  1572    *) mod_substitute: The default is now flattening the buckets after
  1573       each substitution. The newly added 'q' flag allows for the
  1574       quicker, more efficient bucket-splitting if the user so
  1575       desires. [Jim Jagielski]
  1576  
  1577    *) http_filters: Don't spin if get an error when reading the
  1578       next chunk. PR 44381 [Ruediger Pluem]
  1579  
  1580    *) ab: Do not try to read non existing response bodies of HEAD requests.
  1581       PR 34275 [Takashi Sato <serai lans-tv.com>]
  1582  
  1583    *) ab: Use a 64 bit unsigned int instead of a signed long to count the
  1584       bytes transferred to avoid integer overflows. PR 44346 [Ruediger Pluem]
  1585  
  1586    *) ProxyPassReverse is now balancer aware. [Jim Jagielski]
  1587  
  1588    *) mod_include: Correctly handle SSI directives split over multiple filter
  1589       passes.  PR 44447 [Harald Niesche <harald brokenerror.de>]
  1590  
  1591    *) mod_cache: Revalidate cache entities which have Cache-Control: no-cache
  1592       set in their response headers. PR 44511 [Ruediger Pluem]
  1593  
  1594    *) mod_rewrite: Check all files used by DBM maps for freshness, mod_rewrite
  1595       didn't pick up on updated sdbm maps due to this.
  1596       PR41190 [Niklas Edmundsson]
  1597  
  1598    *) mod_proxy: Lower memory consumption for short lived connections.
  1599       PR 44026. [Ruediger Pluem]
  1600  
  1601    *) mod_proxy: Keep connections to the backend persistent in the HTTPS case.
  1602       [Ruediger Pluem]
  1603  
  1604    *) Don't add bogus duplicate Content-Language entries
  1605       PR 11035 [Davi Arnaut]
  1606  
  1607    *) Worker / Event MPM: Fix race condition in pool recycling that leads to
  1608       segmentation faults under load.  PR 44402
  1609       [Basant Kumar Kukreja <basant.kukreja sun.com>]
  1610  
  1611    *) mod_proxy_ftp: Fix base for directory listings.
  1612       PR 27834 [Nick Kew]
  1613  
  1614    *) mod_logio: Provide optional function to allow modules to adjust the
  1615       bytes_in count [Eric Covener]
  1616  
  1617    *) http_filters: Don't return 100-continue on client error
  1618       PR 43711 [Chetan Reddy <chetanreddy gmail.com>]
  1619  
  1620    *) mod_charset_lite: Add TranslateAllMimeTypes sub-option to
  1621       CharsetOptions, allowing the administrator to skip the
  1622       mimetype checking that precedes translation.
  1623       PR 44458 [Eric Covener]
  1624  
  1625    *) mod_proxy_http: Fix processing of chunked responses if
  1626       Connection: Transfer-Encoding is set in the response of the proxied
  1627       system. PR 44311 [Ruediger Pluem]
  1628  
  1629    *) mod_proxy_http: Return HTTP status codes instead of apr_status_t
  1630       values for errors encountered while forwarding the request body
  1631       PR 44165 [Eric Covener]
  1632  
  1633    *) mod_rewrite: Don't canonicalise URLs with [P,NE]
  1634       PR 43319 [<rahul sun.com>]
  1635  
  1636  Changes with Apache 2.2.8
  1637  
  1638    *) core: Fix regression in 2.2.7 in chunk filtering with massively
  1639       chunked requests.  [Ruediger Pluem, Nick Kew]
  1640  
  1641    *) winnt_mpm: Resolve modperl issues by redirecting console mode stdout
  1642       to /Device/Nul as the server is starting up, mirroring unix MPM's.
  1643       PR: 43534  [Tom Donovan <Tom.Donovan acm.org>, William Rowe]
  1644  
  1645    *) winnt_mpm: Restore Win32DisableAcceptEx On directive and Win9x platform
  1646       by recreating the bucket allocator each time the trans pool is cleared.
  1647       PR: 11427 #16 (follow-on)  [Tom Donovan <Tom.Donovan acm.org>]
  1648  
  1649    *) mod_dav: Fix evaluation of If-Match * and If-None-Match * conditionals.
  1650       PR 38034 [Paritosh Shah <shah.paritosh gmail.com>]
  1651  
  1652  Changes with Apache 2.2.7 (not released)
  1653  
  1654    *) SECURITY: CVE-2007-6421 (cve.mitre.org)
  1655       mod_proxy_balancer: Correctly escape the worker route and the worker
  1656       redirect string in the HTML output of the balancer manager.
  1657       Reported by SecurityReason. [Ruediger Pluem]
  1658  
  1659    *) SECURITY: CVE-2007-6422 (cve.mitre.org)
  1660       Prevent crash in balancer manager if invalid balancer name is passed
  1661       as parameter. Reported by SecurityReason. [Ruediger Pluem]
  1662  
  1663    *) SECURITY: CVE-2007-6388 (cve.mitre.org)
  1664       mod_status: Ensure refresh parameter is numeric to prevent
  1665       a possible XSS attack caused by redirecting to other URLs.
  1666       Reported by SecurityReason.  [Mark Cox, Joe Orton]
  1667  
  1668    *) SECURITY: CVE-2007-5000 (cve.mitre.org)
  1669       mod_imagemap: Fix a cross-site scripting issue.  Reported by JPCERT.
  1670       [Joe Orton]
  1671  
  1672    *) SECURITY: CVE-2008-0005 (cve.mitre.org)
  1673       Introduce the ProxyFtpDirCharset directive, allowing the administrator
  1674       to identify a default, or specific servers or paths which list their
  1675       contents in other-than ISO-8859-1 charset (e.g. utf-8). [Ruediger Pluem]
  1676  
  1677    *) mod_dav: Adjust etag generation to produce identical results on 32-bit
  1678       and 64-bit platforms and avoid a regression with conditional PUT's on
  1679       lock and etag. PR 44152.
  1680       [Michael Clark <michael metaparadigm.com>, Ruediger Pluem]
  1681  
  1682    *) mod_ssl: Fix handling of the buffered request body during a per-location
  1683       renegotiation, when an internal redirect occurs.  PR 43738.
  1684       [Joe Orton]
  1685  
  1686    *) mod_ldap: Try to establish a new backend LDAP connection when the
  1687       Microsoft LDAP client library returns LDAP_UNAVAILABLE, e.g. after the
  1688       LDAP server has closed the connection due to a timeout.
  1689       PR 39095 [Eric Covener]
  1690  
  1691    *) log.c: Ensure Win32 resurrects its lost robust logger processes.
  1692       [William Rowe]
  1693  
  1694    *) mod_disk_cache: Delete temporary files if they cannot be renamed to their
  1695       final name. [Davi Arnaut <davi haxent.com.br>]
  1696  
  1697    *) Add explicit charset to the output of various modules to work around
  1698       possible cross-site scripting flaws affecting web browsers that do not
  1699       derive the response character set as required by  RFC2616.  One of these
  1700       reported by SecurityReason [Joe Orton]
  1701  
  1702    *) http_protocol: Escape request method in 405 error reporting.
  1703       This has no security impact since the browser cannot be tricked
  1704       into sending arbitrary method strings.  [Jeff Trawick]
  1705  
  1706    *) mod_ssl: Fix SSL client certificate extensions parsing bug. PR 44073.
  1707       [yl <yl bee-ware.net>]
  1708  
  1709    *) mod_proxy_ajp: Use 64K as maximum AJP packet size. This is the maximum
  1710       length we can squeeze inside the AJP message packet.
  1711       [Mladen Turk]
  1712  
  1713    *) core: Lower memory consumption of ap_r* functions by reusing the brigade
  1714       instead of recreating it during each filter pass.
  1715       [Stefan Fritsch <sf sfritsch.de>]
  1716  
  1717    *) core: Lower memory consumption in case that flush buckets are passed thru
  1718       the chunk filter as last bucket of a brigade. PR 23567.
  1719       [Stefan Fritsch <sf sfritsch.de>]
  1720  
  1721    *) core: Fix broken chunk filtering that causes all non blocking reads to be
  1722       converted into blocking reads.  PR 19954, 41056.
  1723       [Jean-Frederic Clere, Jim Jagielski]
  1724  
  1725    *) mod_rewrite: Add the novary flag to RewriteCond.
  1726       [Ruediger Pluem]
  1727  
  1728    *) core: Change etag generation to produce identical results on
  1729       32-bit and 64-bit platforms.  PR 40064.  [Joe Orton]
  1730  
  1731    *) http_protocol: Escape request method in 413 error reporting.
  1732       Determined to be not generally exploitable, but a flaw in any case.
  1733       PR 44014 [Victor Stinner <victor.stinner inl.fr>]
  1734  
  1735    *) mod_filter: Don't segfault on (unsupported) chained FilterProvider usage.
  1736       PR 43956 [Nick Kew, Ruediger Pluem]
  1737  
  1738    *) core: Handle unrecognised transfer-encodings.
  1739       PR 43882 [Nick Kew, Jeff Trawick]
  1740  
  1741    *) mod_include: Add an "if" directive syntax to test whether an URL
  1742       is accessible, and if so, conditionally display content. This
  1743       allows a webmaster to hide a link to a private page when the user
  1744       has no access to that page. [Graham Leggett]
  1745  
  1746    *) Various code cleanups. PR 38699, 39518, 42005, 42006, 42007, 42008, 42009
  1747       [Christophe Jaillet <christophe.jaillet wanadoo.fr>]
  1748  
  1749    *) mod_proxy_http: Correctly forward unexpected interim (HTTP 1xx)
  1750       responses from the backend according to RFC2616.  But make it
  1751       configurable in case something breaks on it.
  1752       PR 16518 [Nick Kew]
  1753  
  1754    *) mod_substitute: Added a new output filter, which performs
  1755       inline response content pattern matching (including regex)
  1756       and substitution.  [Jim Jagielski, Ruediger Pluem]
  1757  
  1758    *) rotatelogs: Change command-line parsing to report more types
  1759       of errors.  Allow local timestamps to be used when rotating based
  1760       on file size.  [Jeff Trawick]
  1761  
  1762    *) mod_proxy: Canonicalisation improvements. Add "nocanon" keyword to
  1763       ProxyPass, to suppress URI-canonicalisation in a reverse proxy. Also,
  1764       don't escape/unescape forward-proxied URLs.
  1765       PR 41798, 42592 [Nick Kew, Ruediger Pluem, Roy Fielding, Jim Jagielski]
  1766  
  1767    *) mod_status: Add SeeRequestTail directive, which determines if
  1768       ExtendedStatus displays the 1st 63 characters of the request
  1769       or the last 63. Useful for those requests with large string
  1770       lengths and which only vary with the last several characters.
  1771       [Jim Jagielski]
  1772  
  1773    *) mod_ssl: Prevent memory corruption of version string.
  1774       PR 43865, 43334 [William Rowe, Joe Orton]
  1775  
  1776    *) core: Avoid some unexpected connection closes by telling the client
  1777       that the connection is not persistent if the MPM process handling
  1778       the request is already exiting when the response header is built.
  1779       [Jeff Trawick]
  1780  
  1781    *) mod_autoindex: Generate valid XHTML output by adding the xhtml
  1782       namespace. PR 43649 [Jose Kahan <jose w3.org>]
  1783  
  1784    *) mod_ldap: Give callers a reference to data copied into the request
  1785       pool instead of references directly into the cache
  1786       PR 43786 [Eric Covener]
  1787  
  1788    *) mod_ldap: Stop passing a reference to pconf around for
  1789       (limited) use during request processing, avoiding possible
  1790       memory corruption and crashes.  [Eric Covener]
  1791  
  1792    *) Event MPM: Add support for running under mod_ssl, by reverting to the
  1793       Worker MPM behaviors, when run under an input filter that buffers
  1794       its own data. [Paul Querna]
  1795  
  1796    *) mod_charset_lite: Don't crash when the request has no associated
  1797       filename.  [Jeff Trawick]
  1798  
  1799    *) Core: fix possible crash at startup in case of nonexistent DocumentRoot.
  1800       PR 39722 [Adrian Buckley <adrian.buckley ntlworld.com>]
  1801  
  1802    *) HTTP protocol: Add "DefaultType none" option.
  1803       PR 13986 and PR 16139 [Nick Kew]
  1804  
  1805    *) mod_rewrite: Add option to suppress URL unescaping
  1806       PR 34602 [Guenther Gsenger <guenther.gsenger gmail.com>]
  1807  
  1808    *) mpm_winnt: Eliminate wait_for_many_objects.  Allows the clean
  1809       shutdown of the server when the MaxClients is higher then 257,
  1810       in a more responsive manner [Mladen Turk, William Rowe]
  1811  
  1812    *) mod_proxy_http: Remove Warning headers with wrong date
  1813       PR 16138 [Nick Kew]
  1814  
  1815    *) mod_proxy_http: Correctly parse all Connection headers in proxy.
  1816       PR 43509 [Nick Kew]
  1817  
  1818    *) mod_proxy_http: add Via header correctly (if enabled) to
  1819       response, even where other Via headers exist.
  1820       PR 19439 [Nick Kew]
  1821  
  1822    *) http_core: OPTIONS * no longer maps to local storage or URI
  1823       space. Note that unlike previous versions, OPTIONS * no
  1824       longer returns an Allow: header. PR 43519 [Jim Jagielski]
  1825  
  1826    *) mod_proxy_http: strip hop-by-hop response headers
  1827       PR 43455 [Nick Kew]
  1828  
  1829    *) mod_proxy: Don't by default violate RFC2616 by setting
  1830       Max-Forwards when the client didn't send it to us.
  1831       Leave that as a configuration option.
  1832       PR 16137 [Nick Kew]
  1833  
  1834    *) scoreboard: improve error message on apr_shm_create failure
  1835       PR 40037 [Nick Kew]
  1836  
  1837    *) proxy: Fix persistent backend connections.
  1838       PR 43472 [Ruediger Pluem]
  1839  
  1840    *) mod_deflate: initialise inflate-out filter correctly when the
  1841       first brigade contains no data buckets.
  1842       PR 43512 [Nick Kew]
  1843  
  1844    *) mod_proxy_ajp: Ignore any ajp13 flush packets received before
  1845       we send the response headers. See Tomcat PR 43478.
  1846       [Jim Jagielski]
  1847  
  1848    *) mod_proxy_balancer: Do not reset lbstatus, lbfactor and lbset when
  1849       starting a new child.
  1850       PR 39907 [Vinicius Petrucci <vpetrucci gmail.com>, Ruediger Pluem]
  1851  
  1852    *) mod_proxy_http: Propagate Proxy-Authorization header correctly.
  1853       PR 25947 [Nick Kew]
  1854  
  1855    *) mod_proxy_ajp: Differentiate within AJP between GET and HEAD
  1856       requests. PR 43060 [Jim Jagielski]
  1857  
  1858    *) Don't send spurious "100 Continue" response lines.
  1859       PR 38014 [Basant Kumar Kukreja <basant.kukreja sun.com>]
  1860  
  1861    *) mod_proxy_ftp: Don't segfault on bad line in FTP listing
  1862       PR 40733 [Ulf Harnhammar <metaur telia.com>]
  1863  
  1864    *) mod_proxy: escape error-notes correctly
  1865       PR 40952 [Thijs Kinkhorst <thijs debian.org>]
  1866  
  1867    *) mod_proxy: check ProxyBlock for all blocked addresses
  1868       PR 36987 [Timo Viipuri <timo.viipuri f-secure.com>]
  1869  
  1870    *) mod_proxy: Don't lose bytes when a response line arrives in small chunks.
  1871       PR 40894 [Andrew Rucker Jones <arjones simultan.dyndns.org>]
  1872  
  1873  Changes with Apache 2.2.6
  1874  
  1875    *) SECURITY: CVE-2007-3847 (cve.mitre.org)
  1876       mod_proxy: Prevent reading past the end of a buffer when parsing
  1877       date-related headers.  PR 41144.
  1878       [Davi Arnaut, Nick Kew]
  1879  
  1880    *) SECURITY: CVE-2007-1863 (cve.mitre.org)
  1881       mod_cache: Prevent a segmentation fault if attributes are listed in a
  1882       Cache-Control header without any value.
  1883       [Niklas Edmundsson <nikke acc.umu.se>]
  1884  
  1885    *) SECURITY: CVE-2007-3304 (cve.mitre.org)
  1886       prefork, worker, event MPMs: Ensure that the parent process cannot
  1887       be forced to kill processes outside its process group.
  1888       [Joe Orton, Jim Jagielski]
  1889  
  1890    *) SECURITY: CVE-2006-5752 (cve.mitre.org)
  1891       mod_status: Fix a possible XSS attack against a site with a public
  1892       server-status page and ExtendedStatus enabled, for browsers which
  1893       perform charset "detection".  Reported by Stefan Esser.  [Joe Orton]
  1894  
  1895    *) SECURITY: CVE-2007-1862 (cve.mitre.org)
  1896       mod_mem_cache: Copy headers into longer lived storage; header names and
  1897       values could previously point to cleaned up storage.  PR 41551.
  1898       [Davi Arnaut <davi haxent.com.br>]
  1899  
  1900    *) mod_info: mod_info outputs invalid XHTML 1.0 transitional.
  1901       PR 42847 [Rici Lake <rici ricilake.net>]
  1902  
  1903    *) mod_ssl: Fix spurious hostname mismatch warning for valid
  1904       wildcard certificates.  PR 37911.  [Nick Burch <nick torchbox.com>]
  1905  
  1906    *) mod_mem_cache: Increase the minimum and default value for
  1907       MCacheMinObjectSize from 0 to 1, as a MCacheMinObjectSize of 0 does not
  1908       make sense and leads to a division by zero.  PR 40576.
  1909       [Xuekun Hu <xuekun.hu gmail.com>]
  1910  
  1911    *) mod_cache: Remove expired content from cache that cannot be revalidated.
  1912       PR 30370. [Ruediger Pluem]
  1913  
  1914    *) mod_proxy_http: accept proxy-sendchunked/proxy-sendchunks as synonymous.
  1915       PR 43183 [Brian Rectanus <Brian.Rectanus breach.com>, Vincent Bray]
  1916  
  1917    *) mod_proxy: Ensure that at least scheme://hostname[:port] matches between
  1918       worker and URL when searching for the best fitting worker for a given
  1919       URL.  PR 40910 [Ruediger Pluem]
  1920  
  1921    *) mod_proxy: Improve network performance by setting APR_TCP_NODELAY
  1922       (disable Nagle algorithm) on sockets if implemented.
  1923       PR 42871 [Christian BOITEL <christian_boitel yahoo.fr>, Jim Jagielski]
  1924  
  1925    *) core: Do not replace a Date header set by a proxied backend server.
  1926       PR 40232 [Ruediger Pluem]
  1927  
  1928    *) mod_proxy: Add a missing assignment in an error checking code path.
  1929       PR 40865 [Andrew Rucker Jones <arjones simultan.dyndns.org>]
  1930  
  1931    *) mod_proxy_connect: avoid segfault on DNS lookup failure.
  1932       PR 40756 [Trevin Beattie <tbeattie boingo.com>]
  1933  
  1934    *) mod_proxy: enable Ignore Errors option on ProxyPass Status.
  1935       PR 43167 [Francisco Gimeno <kikov kikov.org>
  1936  
  1937    *) mod_proxy_http: Don't try to read body of a HEAD request before
  1938       responding.  PR 41644 [Stuart Children <stuart terminus.co.uk>]
  1939  
  1940    *) mod_authnz_ldap: Don't return HTTP_UNAUTHORIZED during authorization when
  1941       LDAP authentication is configured but we haven't seen any
  1942       'Require ldap-*' directives, allowing authorization to be passed to lower
  1943       level modules (e.g. Require valid-user)
  1944       PR 43281 [Eric Covener]
  1945  
  1946    *) mod_proxy: don't URLencode tilde in path component
  1947       PR 38448 [Stijn Hoop <stijn sandcat.nl>]
  1948  
  1949    *) proxy/ajp_header.c: Fixed header token string comparisons
  1950       Matching of header tokens failed to include the trailing NIL byte
  1951       and could misinterpret a longer header token for a shorter.
  1952       Additionally, a "Content-Type" comparison was made case insensitive.
  1953       [Martin Kraemer]
  1954  
  1955    *) proxy/ajp_header.c: Backport of an AJP protocol fix for EBCDIC
  1956       On EBCDIC machines, the status_line string was incorrectly converted
  1957       twice. [Jean-Frederic Clere, Martin Kraemer]
  1958  
  1959    *) mod_dumpio: Fix for correct dumping of traffic on EBCDIC hosts
  1960       Data had been incorrectly converted twice, resulting in
  1961       garbled log output. [Martin Kraemer]
  1962  
  1963    *) mod_autoindex: Add in Type and Charset options to IndexOptions
  1964       directive. This allows the admin to explicitly set the
  1965       content-type and charset of the generated page and is therefore
  1966       a viable workaround for buggy browsers affected by CVE-2007-4465
  1967       (cve.mitre.org). [Jim Jagielski]
  1968  
  1969    *) log core: ensure we use a special pool for stderr logging, so that
  1970       the stderr channel remains valid from the time plog is destroyed,
  1971       until the time the open_logs hook is called again.  [William Rowe]
  1972  
  1973    *) mod_negotiation: preserve Query String in resolving a type map
  1974       PR 33112 [Jørgen Thomsen <apache jth.net>, Nick Kew]
  1975  
  1976    *) mod_ssl: Version reporting update; displays 'compiled against'
  1977       Apache and build-time SSL Library versions at loglevel [info],
  1978       while reporting the run-time SSL Library version in the server
  1979       info tags.  Helps to identify a mod_ssl built against one flavor
  1980       of OpenSSL but running against another (also adds SSL-C version
  1981       number reporting.)  [William Rowe]
  1982  
  1983    *) mime.types: Many updates to sync with IANA registry and common
  1984       unregistered types that the owners refuse to register.  Admins
  1985       are encouraged to update their installed mime.types file.
  1986       PR: 35550, 37798, 39317, 31483 [Roy T. Fielding]
  1987  
  1988    *) mod_expires: don't crash on bad configuration data
  1989       PR 43213 [Julien Perez <julien.perez epsylonia.net>]
  1990  
  1991    *) mod_dbd: Introduce configuration groups to allow inheritance by virtual
  1992       hosts of database configurations from the main server.  Determine the
  1993       minimal set of distinct configurations and share connection pools
  1994       whenever possible.  Allow virtual hosts to override inherited SQL
  1995       statements.  PR 41302.  [Chris Darroch]
  1996  
  1997    *) mod_dbd: Create memory sub-pools for each DB connection and close
  1998       DB connections in a pool cleanup function.  Ensure prepared statements
  1999       are destroyed before DB connection is closed.  When using reslists,
  2000       prevent segfaults when child processes exit, and stop memory leakage
  2001       of ap_dbd_t structures.  Avoid use of global s->process->pool, which
  2002       isn't destroyed by exiting child processes in most multi-process MPMs.
  2003       PR 39985.  [Chris Darroch, Nick Kew]
  2004  
  2005    *) mod_dbd: Handle error conditions in dbd_construct() properly.
  2006       Simplify ap_dbd_open() and use correct arguments to apr_dbd_error()
  2007       when non-threaded.  Register correct cleanup data in non-threaded
  2008       ap_dbd_acquire() and ap_dbd_cacquire().  Clean up configuration data
  2009       and merge function.  Use ap_log_error() wherever possible.
  2010       [Chris Darroch, Nick Kew]
  2011  
  2012    *) mod_dbd: Stash DBD connections in request_config of initial request
  2013       only, or else sub-requests and internal redirections may cause
  2014       entire DBD pool to be stashed in a single HTTP request.  [Chris Darroch]
  2015  
  2016    *) main core: Emit errors during the initial apr_app_initialize()
  2017       or apr_pool_create() (when apr-based error reporting is not ready).
  2018       [William Rowe, Jeff Trawick]
  2019  
  2020    *) log core: fix the new piped logger case where we couldn't connect
  2021       the replacement stderr logger's stderr to the NULL stdout stream.
  2022       Continue in this case, since the previous alternative of no error
  2023       logging at all (/dev/null) is far worse. [William Rowe]
  2024  
  2025    *) mpm_winnt: Prevent the parent-child pipe from leaking into other
  2026       spawned processes, and ensure we have a /Device/null handle for
  2027       stdout when running as-a-service.  [William Rowe]
  2028  
  2029    *) mod_ldap: Avoid possible crashes, hangs, and busy loops due to
  2030       improper merging of the cache lock in vhost config
  2031       PR 43164 [Eric Covener]
  2032  
  2033    *) ApacheMonitor: Fix Windows Vista detection. [Mladen Turk]
  2034  
  2035    *) mod_deflate: fix protocol handling in deflate input filter
  2036       PR 23287 [Nick Kew]
  2037  
  2038    *) mime.types: add Registered Javascript/ECMAScript MIME types (RFC4329)
  2039       PR 40299 [Dave Hodder <dmh dmh.org.uk>]
  2040  
  2041    *) mod_filter: fix integer comparisons in dispatch rules
  2042       PR 41835 [Nick Kew]
  2043  
  2044    *) mod_filter: fix merging of ! and = in FilterChain
  2045       PR 42186 [Issac Goldstand <margol beamartyr.net>]
  2046  
  2047    *) mod_deflate: don't try to process metadata buckets as data.  what should
  2048       have been a 413 error was logged as a 500 and a blank screen appeared
  2049       at the browser.
  2050       [Greg Ames, Ruediger Pluem]
  2051  
  2052    *) mod_cgi, mod_cgid: Fix use of CGI scripts as ErrorDocuments.
  2053       PR 39710.  [Paul Querna, Ruediger Pluem]
  2054  
  2055    *) mod_proxy: Allow to use different values for sessionid
  2056       in url encoded id and cookies. PR 41897. [Jean-Frederic Clere]
  2057  
  2058    *) mod_proxy: Fix the 503 returned when session route does
  2059       not match any of the balancer members. [Mladen Turk]
  2060  
  2061    *) mod_proxy: Added ProxyPassMatch directive, which is similar
  2062       to ProxyPass but takes a regex local path prefix. [Jim Jagielski]
  2063  
  2064    *) mod_cache: Do not set Date or Expires when they are missing from
  2065       the original response or are invalid.  [Justin Erenkrantz]
  2066  
  2067    *) mod_cache: Correctly handle HEAD requests on expired cache content.
  2068       PR 41230.  [Niklas Edmundsson <nikke acc.umu.se>]
  2069  
  2070    *) mod_cache: Let Cache-Control max-age set the expiration of the cached
  2071       representation if Expires is not set.  [Justin Erenkrantz]
  2072  
  2073    *) mod_cache: Allow caching of requests with query arguments when
  2074       Cache-Control max-age is explicitly specified.  [Justin Erenkrantz]
  2075  
  2076    *) mod_disk_cache: Allow Vary'd responses to be refreshed properly.
  2077       [Justin Erenkrantz]
  2078  
  2079    *) mod_proxy: Print the correct error message for erroneous configured
  2080       ProxyPass directives. PR 40439.  [Takashi Sato <serai lans-tv.com>]
  2081  
  2082    *) mod_so: Provide more helpful LoadModule feedback when an error occurs.
  2083       [William Rowe]
  2084  
  2085    *) mod_alias: Accept path components (URL part) in Redirects. PR 35314.
  2086       [Nick Kew]
  2087  
  2088    *) mod_headers: Allow % at the end of a Header value. PR 36609.
  2089       [Nick Kew, Ruediger Pluem]
  2090  
  2091    *) mod_cache: Use the same cache key throughout the whole request processing
  2092       to handle escaped URLs correctly.  PR 41475.  [Ruediger Pluem]
  2093  
  2094    *) mod_cache: Add CacheIgnoreQueryString directive. PR 41484.
  2095       [Fredrik Widlund <fredrik.widlund qbrick.com>]
  2096  
  2097    *) mod_cache: While serving a cached entity ensure that filters that have
  2098       been applied to this cached entity before saving it to the cache are not
  2099       applied again. PR 40090.  [Ruediger Pluem]
  2100  
  2101    *) mod_cache: Correctly cache objects whose URL query string has been
  2102       modified by mod_rewrite. PR 40805.  [Ruediger Pluem]
  2103  
  2104    *) HTTP proxy ProxyErrorOverride: Leave 1xx and 3xx responses alone.  Only
  2105       processing of error responses (4xx, 5xx) will be altered. PR 39245.
  2106       [Jeff Trawick, Bart van der Schans <schans hippo.nl>]
  2107  
  2108    *) htdbm: Enable crypt support on platforms with crypt() but not
  2109       <crypt.h>, such as z/OS.  [David Jones <oscaremma gmail.com>]
  2110  
  2111    *) mod_ssl: initialize thread locks before initializing the hardware
  2112       acceleration library, so the latter can make use of the former.
  2113       PR 20951.  [<adunn at ncipher.com>]
  2114  
  2115    *) ab.c: Correct behavior of HTTP request headers sent by ab
  2116       in presence of -H command-line overrides. PR 31268, 26554.
  2117       [Arvind Srinivasan <arvind.srinivasan  sun.com>]
  2118  
  2119    *) ab.c: The apr_port_t type is unsigned, but ab was using a
  2120       signed format code in its reports. PR 42070.
  2121       [Takashi Sato <serai  lans-tv.com>]
  2122  
  2123    *) mod_ldap: Remove the hardcoded size limit parameter for
  2124       ldap_search_ext_s and replace it with an APR_ defined value that
  2125       is set according to the LDAP SDK being used, resolving a problem
  2126       with SDKs that define LDAP_NO_LIMIT to something other than -1.
  2127       [David Jones <oscaremma gmail com>]
  2128  
  2129    *) core: Correct a regression since 2.0.x in the handling of AllowOverride
  2130       Options. PR 41829.  [Torsten Förtsch <torsten.foertsch gmx.net>]
  2131  
  2132    *) mod_proxy_http: Handle request bodies larger than 2 GB by converting
  2133       the Content-Length header of the request correctly. PR 40883.
  2134       [Ruediger Pluem, toadie <toadie643 gmail.com>]
  2135  
  2136    *) mod_proxy: Fix some proxy setting inheritance problems (eg:
  2137       ProxyTimeout). PR 11540.  [Stuart Children <stuart terminus.co.uk>]
  2138  
  2139    *) Unix MPMs: Catch SIGFPE so that exception hooks and CoreDumpDirectory
  2140       can work after that terminating signal.
  2141       [Eric Covener]
  2142  
  2143    *) Win32: Makefile.win will now build with MS VC 8 (Visual Studio 2005)
  2144       including embedding the .manifest information into each binary.
  2145       [William Rowe]
  2146  
  2147  There was no Apache 2.2.5
  2148  
  2149  Changes with Apache 2.2.4
  2150  
  2151    *) mod_isapi: Correctly present SERVER_PORT_SECURE.
  2152       PR: 40573.  [Matt Eaton <asf divinehawk.com>]
  2153  
  2154    *) Allow htcacheclean, httxt2dbm, and fcgistarter to link apr/apr-util
  2155       statically like the older support programs.
  2156       [Eric Covener <covener gmail.com>]
  2157  
  2158    *) core: Fix NONBLOCK status of listening sockets on restart/graceful
  2159       PR 37680.  [Darius Davis <darius-abz free-range.com.au>]
  2160  
  2161    *) mod_deflate: Rework inflate output and deflate output filter to fix
  2162       several issues: Incorrect handling of flush buckets, potential memory
  2163       leaks, excessive memory usage in inflate output filter for large
  2164       compressed content. PR 39854.
  2165       [Ruediger Pluem, Nick Kew, Justin Erenkrantz]
  2166  
  2167    *) mod_mem_cache: Memory leak fix: Unconditionally free the buffer.
  2168       [Davi Arnaut <davi haxent.com.br>]
  2169  
  2170    *) Allow mod_dumpio to log at other than DEBUG levels via
  2171       the new DumpIOLogLevel directive. [Jim Jagielski]
  2172  
  2173    *) rotatelogs: Improve error message for open failures.  PR 39487.
  2174       [Joe Orton]
  2175  
  2176    *) mod_dbd: share per-request database handles across subrequests
  2177       and internal redirects [Chris Darroch]
  2178  
  2179    *) mod_dbd: key connection pools to virtual hosts correctly even when
  2180       ServerName is unset/unavailable [Graham Leggett]
  2181  
  2182    *) Better detection and clean up of ldap connection that has been
  2183       terminated by the ldap server.  PR 40878.
  2184       [Rob Baily <rbaily servicebench com>]
  2185  
  2186    *) mod_mem_cache: Convert mod_mem_cache to use APR memory pool functions
  2187       by creating a root pool for object persistence across requests. This
  2188       also eliminates the need for custom serialization code.
  2189       [Davi Arnaut <davi haxent.com.br>]
  2190  
  2191    *) mod_authnz_ldap: Add an AuthLDAPRemoteUserAttribute directive. If
  2192       set, REMOTE_USER will be set to this attribute, rather than the
  2193       username supplied by the user. Useful for example when you want users
  2194       to log in using an email address, but need to supply a userid instead
  2195       to the backend.  [Graham Leggett]
  2196  
  2197    *) mod_cgi and mod_cgid: Don't use apr_status_t error return
  2198       from input filters as HTTP return value from the handler.
  2199       PR 31759.  [Nick Kew]
  2200  
  2201    *) mod_cache: Eliminate a bogus error in the log when a filter returns
  2202       AP_FILTER_ERROR.  [Niklas Edmundsson <nikke acc.umu.se>]
  2203  
  2204    *) core: Fix issue which could cause piped loggers to be orphaned and never
  2205       terminate after a graceful restart.  PR 40651.
  2206       [Joe Orton, Ruediger Pluem]
  2207  
  2208    *) core: Fix address-in-use startup failure caused by corruption of the list
  2209       of listen sockets in some configurations with multiple generic Listen
  2210       directives.  [Jeff Trawick]
  2211  
  2212    *) mod_headers: Support regexp-based editing of HTTP headers.  [Nick Kew]
  2213  
  2214    *) mod_proxy: Add explicit flushing feature. When Servlet container sends
  2215       AJP body message with size 0, this means that Servlet container has asked
  2216       for an explicit flush. Create flush bucket in that case. This feature has
  2217       been added to the recent Tomcat versions without breaking the AJP
  2218       protocol.  [Mladen Turk]
  2219  
  2220    *) mod_proxy_balancer: Set the new environment variable
  2221       BALANCER_ROUTE_CHANGED if a worker with a route different from the one
  2222       supplied by the client had been chosen or if the client supplied no
  2223       routing information for a balancer with sticky sessions.
  2224       [Ruediger Pluem]
  2225  
  2226    *) mod_proxy_balancer: Add information about the route, the sticky session
  2227       and the worker used during a request as environment variables. PR 39806.
  2228       [Brian <brectanu gmail.com>]
  2229  
  2230    *) mod_proxy: Don't try to use dead backend connection. PR 37770.
  2231       [Olivier BOEL <ob dorrboel.com>]
  2232  
  2233    *) mod_proxy_balancer: Extract stickysession routing information contained
  2234       as parameter in the URL correctly. PR 40400.
  2235       [Ruediger Pluem, Tomokazu Harada <harada sysrdc.ns-sol.co.jp>]
  2236  
  2237    *) mod_proxy_ajp: Added cping/cpong support for the AJP protocol.
  2238       A new worker directive ping=timeout will cause CPING packet
  2239       to be send expecting CPONG packet within defined timeout.
  2240       In case the backend is too busy this will fail instead
  2241       sending the full header.  [Mladen Turk]
  2242  
  2243    *) mod_disk_cache: Make sure that only positive integers are accepted
  2244       for the CacheMaxFileSize and CacheMinFileSize parameters in the
  2245       config file. PR39380.  [Niklas Edmundsson <nikke acc.umu.se>]
  2246  
  2247    *) mod_cache: From RFC3986 (section 6.2.3.) if a URI contains an
  2248       authority component and an empty path, the empty path is to be equivalent
  2249       to "/". It explicitly cites the following four URIs as equivalents:
  2250         http://example.com
  2251         http://example.com/
  2252         http://example.com:/
  2253         http://example.com:80/
  2254       [Davi Arnaut <davi haxent.com.br>]
  2255  
  2256    *) mod_cache: Don't cache requests with a expires date in the past;
  2257       otherwise mod_cache will always try to cache the URL. This bug
  2258       might lead to numerous rename() errors on win32 if the URL was
  2259       previously cached. [Davi Arnaut <davi haxent.com.br>]
  2260  
  2261    *) core: Deal with the widespread use of apr_status_t return values
  2262       as HTTP status codes, as documented in PR#31759 (a bug shared by
  2263       the default handler, mod_cgi, mod_cgid, mod_proxy, and probably
  2264       others). PR31759.  [Jeff Trawick, Ruediger Pluem, Joe Orton]
  2265  
  2266    *) mod_ext_filter: Handle filter names which include capital letters.
  2267       PR 40323.  [Jeff Trawick]
  2268  
  2269    *) mod_isapi: Avoid double trailing slashes in HSE_REQ_MAP_URL_TO_PATH
  2270       support.  Also corrects the slashes for Windows.
  2271       PR 15993.  [William Rowe]
  2272  
  2273    *) mod_isapi: Handle "HTTP/1.1 200 OK" style status lines correctly, the
  2274       token parser worked while the resulting length was misinterpreted.
  2275       PR 29098.  [Brock Bland <bbland serena.com>]
  2276  
  2277    *) mod_isapi: Return 0 (failure) for more of the various ap_pass_brigade
  2278       attempts to stream the response at the client.  Log these as well.
  2279       PR 30022, 40470.  [William Rowe, Matt Eaton <asf divinehawk.com>]
  2280  
  2281    *) mod_isapi: Ensure we walk through all the methods the developer may have
  2282       employed to report their HTTP status result code.  PR 16637 30033 28089
  2283       [Matt Lewandowsky <matt iamcode.net>, William Rowe]
  2284  
  2285    *) mod_echo: Fix precedence problem in if statement. PR 40658.
  2286       [Larry Cipriani <lvc lucent.com>]
  2287  
  2288    *) mod_mime_magic: Fix precedence problem in if statement. PR 40656.
  2289       [Larry Cipriani <lvc lucent.com>]
  2290  
  2291    *) The full server version information is now included in the error log at
  2292       startup as well as server status reports, irrespective of the setting
  2293       of the ServerTokens directive.  ap_get_server_version() is now
  2294       deprecated, and is replaced by ap_get_server_banner() and
  2295       ap_get_server_description().  [Jeff Trawick]
  2296  
  2297    *) mod_proxy_balancer: Workers can now be defined as part of
  2298       a balancer cluster "set" in which members of a lower-numbered set
  2299       are preferred over higher numbered ones.  [Jim Jagielski]
  2300  
  2301    *) mod_proxy_balancer: Workers can now be defined as "hot standby" which
  2302       will only be used if all other workers are unusable (eg: in
  2303       error or disabled). Also, the balancer-manager displays the election
  2304       count and I/O counts of all workers.  [Jim Jagielski]
  2305  
  2306    *) mod_proxy_ajp: Close connection to backend if reading of request body
  2307       fails. PR 40310.  [Ian Abel <ianabel mxtelecom.com>]
  2308  
  2309    *) mod_proxy_balancer: Retry worker chosen by route / redirect worker if
  2310       it is in error state before sending "Service Temporarily Unavailable".
  2311       PR 38962.  [Christian Boitel <cboitel lfdj.com>]
  2312  
  2313  Changes with Apache 2.2.3
  2314  
  2315    *) SECURITY: CVE-2006-3747 (cve.mitre.org)
  2316       mod_rewrite: Fix an off-by-one security problem in the ldap scheme
  2317       handling.  For some RewriteRules this could lead to a pointer being
  2318       written out of bounds.  Reported by Mark Dowd of McAfee.
  2319       [Mark Cox]
  2320  
  2321    *) Win32: Minor fixes to build more cleanly under Visual Studio 2005
  2322       with command line builds.  [William Rowe]
  2323  
  2324    *) mod_authn_alias: Add a check to make sure that the base provider and the
  2325       alias names are different and also that the alias has not been registered
  2326       before. PR 40051. [Brad Nicholes]
  2327  
  2328    *) mod_authnz_ldap: Fix a problem with invalid auth error detection for LDAP
  2329       client SDKs that don't support the LDAP_SECURITY_ERROR macro. PR 39529.
  2330       [Ray Price <dohrayme yahoo.com>, Josh Fenlason <jfenlason ptc.com>]
  2331  
  2332    *) mod_cache: Do not overwrite the Content-Type in the cache, for
  2333       successfully revalidated cached objects. PR 39647. [Ruediger Pluem]
  2334  
  2335    *) mod_speling: Add directive to deal with case corrections only
  2336       and ignore other misspellings [Olivier Thereaux  <ot w3.org>]
  2337  
  2338    *) mod_dbd: Fix dependence on virtualhost configuration in
  2339       defining prepared statements (possible segfault at startup
  2340       in user modules such as mod_authn_dbd).  [Nick Kew]
  2341  
  2342    *) Add optional 'scheme://' prefix to ServerName directive,
  2343       allowing correct determination of the canonical server URL
  2344       for use behind a proxy or offload device handling SSL; fixing
  2345       redirect generation in those cases. PR 33398. [Sander Temme]
  2346  
  2347    *) Added server_scheme field to server_rec for above. Minor MMN bump.
  2348       [Sander Temme]
  2349  
  2350    *) mod_cache: Make caching of reverse SSL proxies possible again. PR 39593.
  2351       [Ruediger Pluem, Joe Orton]
  2352  
  2353    *) Worker MPM: On graceless shutdown or restart, send signals to
  2354       each worker thread to wake them up if they're polling on a
  2355       Keep-Alive connection.  PR 38737.  [Chris Darroch]
  2356  
  2357    *) worker and event MPMs: fix excessive forking if fork() or child_init
  2358       take a long time.  PR 39275.
  2359       [Greg Ames, Jeff Trawick, Chris Darroch <chrisd pearsoncmg.com> ]
  2360  
  2361    *) configure: Add "--with-included-apr" flag to force use of the
  2362       bundled version of APR at build time.  [Joe Orton]
  2363  
  2364    *) Respect GracefulShutdownTimeout in the worker and event MPMs.
  2365       [Chris Darroch, Garrett Rooney]
  2366  
  2367    *) mod_mem_cache: Set content type correctly when delivering data from
  2368       cache. PR 39266. [Ruediger Pluem]
  2369  
  2370    *) mod_autoindex: Fix filename escaping with FancyIndexing disabled.
  2371       PR 38910.  [Robby Griffin <rmg terc.edu>]
  2372  
  2373    *) mod_charset_lite: Bypass translation when the source and dest charsets
  2374       are the same. [Jeff Trawick]
  2375  
  2376  Changes with Apache 2.2.2
  2377  
  2378    *) mod_deflate: work correctly in an internal redirect
  2379       [Brian J. France <list firehawksystems com>]
  2380  
  2381    *) mod_proxy_balancer: Initialize members of a balancer correctly.
  2382       PR 38227. [James A. Robinson <jim.robinson stanford.edu>]
  2383  
  2384    *) mod_proxy: Do not release connections from connection pool twice.
  2385       PR 38793. [Ruediger Pluem, matthias <mk-asf gigacodes.de>]
  2386  
  2387    *) core: Prevent reading uninitialized memory while reading a line of
  2388       protocol input.  PR 39282. [Davi Arnaut <davi haxent com br>]
  2389  
  2390    *) mod_dbd: Update defaults, improve error reporting.
  2391       [Chris Darroch <chrisd pearsoncmg com>, Nick Kew]
  2392  
  2393    *) mod_dbd: Create own pool and mutex to avoid problem use of
  2394       process pool in request processing.
  2395       [Chris Darroch <chrisd pearsoncmg com>]
  2396  
  2397    *) HTML-escape the Expect error message.  Not classed as security as
  2398       an attacker has no way to influence the Expect header a victim will
  2399       send to a target site.  Reported by Thiago Zaninotti
  2400       <thiango nstalker.com>. [Mark Cox]
  2401  
  2402    *) htdbm: Fix crash processing -d option in 64-bit mode on HP-UX.
  2403       [Jeff Trawick]
  2404  
  2405    *) htdbm: Warn the user when adding a plaintext password on a platform
  2406       where it wouldn't work with the server (i.e., anywhere that has
  2407       crypt()).  [Jeff Trawick]
  2408  
  2409    *) mod_proxy: don't reuse a connection that may be to the wrong backend
  2410       PR 39253 [Ruediger Pluem]
  2411  
  2412    *) Default handler: Don't return output filter apr_status_t values.
  2413       PR 31759.  [Jeff Trawick, Ruediger Pluem, Joe Orton]
  2414  
  2415  Changes with Apache 2.2.1 (not released)
  2416  
  2417    *) SECURITY: CVE-2005-3357 (cve.mitre.org)
  2418       mod_ssl: Fix a possible crash during access control checks if a
  2419       non-SSL request is processed for an SSL vhost (such as the
  2420       "HTTP request received on SSL port" error message when an 400
  2421       ErrorDocument is configured, or if using "SSLEngine optional").
  2422       PR 37791.  [Rüdiger Plüm, Joe Orton]
  2423  
  2424    *) SECURITY: CVE-2005-3352 (cve.mitre.org)
  2425       mod_imagemap: Escape untrusted referer header before outputting
  2426       in HTML to avoid potential cross-site scripting.  Change also
  2427       made to ap_escape_html so we escape quotes.  Reported by JPCERT.
  2428       [Mark Cox]
  2429  
  2430    *) mod_proxy_ajp: Flushing of the output after each AJP chunk is now
  2431       configurable at runtime via the 'flushpackets' and 'flushwait' worker
  2432       params. Minor MMN bump. [Jim Jagielski]
  2433  
  2434    *) mod_proxy: Fix incorrect usage of local and shared worker init.
  2435       PR 38403. [Jim Jagielski]
  2436  
  2437    *) mod_isapi: Fix compiler errors on Unix platforms.
  2438       [William Rowe]
  2439  
  2440    *) mod_proxy_http: Do send keep-alive header if the client sent
  2441       connection: keep-alive and do not close backend connection if the client
  2442       sent connection: close. PR 38524. [Ruediger Pluem, Joe Orton]
  2443  
  2444    *) mod_disk_cache: Return the correct error codes from bucket read
  2445       failures, instead of APR_EGENERAL.
  2446       [Brian Akins <brian.akins turner.com>]
  2447  
  2448    *) Add APR/APR-Util Compiled and Runtime Version numbers to the
  2449       output of 'httpd -V'. [William Rowe]
  2450  
  2451    *) http: If a connection is aborted while waiting for a chunked line,
  2452       flag the connection as errored out.  [Justin Erenkrantz]
  2453  
  2454    *) core: Reject invalid Expect header immediately. PR 38123.
  2455       [Ruediger Pluem]
  2456  
  2457    *) Fix mis-shifted 32 bit scope, masked to 64 bits as a method.
  2458       [Will Rowe, Joe Orton]
  2459  
  2460    *) mod_proxy: Fix KeepAlives not being allowed and set to
  2461       backend servers. PR 38602. [Ruediger Pluem, Jim Jagielski]
  2462  
  2463    *) Fix instdso.sh "sed syntax error" installation issue on some
  2464       platforms.  PR 38108.  [Masaoki Kobayashi <masaoki techfirm.co.jp>]
  2465  
  2466    *) mod_ssl: Fix possible crashes in shmcb with gcc 4 on platforms
  2467       requiring word-aligned pointers.  PR 38838.  [Joe Orton]
  2468  
  2469    *) mod_proxy: If we get an error reading the upstream response,
  2470       close the connection.  [Justin Erenkrantz, Roy T. Fielding,
  2471       Jim Jagielski, Ruediger Pluem]
  2472  
  2473    *) mod_proxy_ajp: Support common headers of the AJP protocol in responses.
  2474       PR 38340. [Aleksey Pesternikov <apesternikov yahoo.com>]
  2475  
  2476    *) mod_proxy_balancer: Do not overwrite the status of initialized workers
  2477       and respect the configured status of uninitilized workers when creating
  2478       a new child process. [Ruediger Pluem]
  2479  
  2480    *) mod_proxy_ajp: Crosscheck the length of the body chunk with the length of
  2481       the ajp message to prevent mod_proxy_ajp from reading beyond the buffer
  2482       boundaries and thus revealing possibly sensitive memory contents to the
  2483       client. [Ruediger Pluem]
  2484  
  2485    *) Ensure that the proper status line is written to the client, fixing
  2486       incorrect status lines caused by filters which modify r->status without
  2487       resetting r->status_line, such as the built-in byterange filter.
  2488       [Jeff Trawick]
  2489  
  2490    *) mod_speling: Stop crashing with certain non-file requests.
  2491       [Jeff Trawick]
  2492  
  2493    *) mod_cache: Make caching of reverse proxies possible again. PR 38017.
  2494       [Ruediger Pluem]
  2495  
  2496    *) Modify apr[util] .h detection to avoid breakage on VPATH builds
  2497       using Solaris make (amoung others) and avoid breakage in ./buildconf
  2498       when srclib/apr[-util] are symlinks rather than directories proper.
  2499       [William Rowe]
  2500  
  2501    *) Avoid Server-driven negotiation when a script has emitted an
  2502       explicit Status: header.  PR 38070.  [Nick Kew]
  2503  
  2504    *) Fix to avoid feeding C99 to C++ compilers.  [Joe Orton]
  2505  
  2506    *) Chunk filter: Fix chunk filter to create correct chunks in the case that
  2507       a flush bucket is surrounded by data buckets. [Ruediger Pluem]
  2508  
  2509    *) Fix syntax error in httpd.h with strict compilers.  PR 37840.
  2510       [Per Olausson <pao darkheim.freeserve.co.uk>]
  2511  
  2512    *) Fix recursive ErrorDocument handling.  PR 36090.
  2513       [Chris Darroch <chrisd pearsoncmg.com>]
  2514  
  2515    *) Don't hang on error return from post_read_request.  PR 37790.
  2516       [Nick Kew]
  2517  
  2518    *) Fix off-by-one error in proxy_balancer.  PR 37753.
  2519       [Kazuhiro Osawa <ko yappo ne jp>]
  2520  
  2521  Changes with Apache 2.2.0
  2522  
  2523    *) mod_negotiation: Minor performance tweak by reusing already calculated
  2524       strlen.
  2525       [Ruediger Pluem, Christophe Jaillet <christophe.jaillet wanadoo.fr>]
  2526  
  2527    *) Remove support for 'On' and 'Off' for AuthBasicProvider and
  2528       AuthDigestProvider.  [Joshua Slive, Justin Erenkrantz]
  2529  
  2530    *) Add in new UseCanonicalPhysicalPort directive, which controls
  2531       whether or not Apache will ever use the actual physical port
  2532       when constructing the canonical port number. [Jim Jagielski]
  2533  
  2534    *) mod_dav: Fix a null pointer dereference in an error code path during the
  2535       handling of MKCOL.
  2536       [Ruediger Pluem, Ghassan Misherghi <ghassanm ucdavis.edu>]
  2537  
  2538    *) mod_proxy_balancer: When finding best worker, use case insensitive
  2539       match for scheme and host, but case sensitive for the rest of
  2540       the path. [Jim Jagielski, Ruediger Pluem]
  2541  
  2542    *) Require use of APR >= 1.2.0 and APR-util >= 1.2.0 when configured
  2543       to use external copies of the libraries.  [Joe Orton]
  2544  
  2545    *) Fix DESTDIR=... installation when using bundled copy of APR.
  2546       [Torsten Foertsch <torsten.foertsch gmx.net>]
  2547  
  2548    *) mod_dav: Fix handling of unknown state tokens in If: headers.
  2549       PR: 37288.  [Joe Orton]
  2550  
  2551    *) Strip out Experimental MPMs that have gone nowhere since 2.0
  2552       (perchild, threadpool, leader).  [Nick Kew]
  2553  
  2554  Changes with Apache 2.1.9
  2555  
  2556    *) Add mod_authn_dbd (SQL-based  authentication) [Nick Kew]
  2557  
  2558    *) mod_proxy_ajp: Do not spool the entire response from AJP backend before
  2559       sending it up the filter chain.  PR 37100.  [Ruediger Pluem]
  2560  
  2561    *) mod_cache: Create new filters CACHE_OUT_SUBREQ / CACHE_SAVE_SUBREQ which
  2562       only differ by the type from CACHE_OUT / CACHE_SAVE to ensure that
  2563       subrequests to non-local resources work again.  [Ruediger Pluem]
  2564  
  2565    *) mod_proxy: Do not lowercase the entire worker name of a BalancerMember
  2566       since this breaks case sensitive URI's.  PR 36906.  [Ruediger Pluem]
  2567  
  2568    *) core: AddOutputFilterByType is ignored for proxied requests. PR 31226.
  2569       [Joe Orton, Ruediger Pluem]
  2570  
  2571    *) mod_proxy_http: Prevent data corruption of POST request bodies when
  2572       client accesses proxied resources with SSL.  PR 37145.
  2573       [Ruediger Pluem, William Rowe]
  2574  
  2575    *) mod_ssl: Fix issue which could cause spurious warnings about use
  2576       of name-based vhosts.  PR 37051.  [Joe Orton]
  2577  
  2578    *) ab: Fix to ensure that only the expected number of requests are run.
  2579       PR 36966.  [Joe Orton]
  2580  
  2581    *) mod_proxy_balancer: BalancerManager and proxies correctly handle
  2582       member workers with paths.  PR 36816. [Ruediger Pluem, Jim Jagielski]
  2583  
  2584    *) mod_log_config: %{hextid}P will log the thread id in hex with APR
  2585       versions 1.2.0 or higher.  [Jeff Trawick]
  2586  
  2587    *) httpd.exe/apachectl -V: display the DYNAMIC_MODULE_LIMIT setting, as
  2588       in 1.3.  [Jeff Trawick]
  2589  
  2590    *) Support dbd connection tied to conn_rec in mod_dbd.  [Nick Kew]
  2591  
  2592    *) Fix use of pools in mod_dbd.  [Brian J France, Nick Kew]
  2593  
  2594    *) Promote modules from "experimental": mod_dbd, mod_filter,
  2595       mod_charset_lite.  [Nick Kew]
  2596  
  2597    *) mod_proxy_ajp: mod_proxy_ajp sends empty SSL attributes for non SSL
  2598       connections.  PR 36883.
  2599       [William Barker <william.barker wilshire.com>, Ruediger Pluem]
  2600  
  2601    *) Eliminated the NET_TIME filter, restructuring the timeout logic.
  2602       This provides a working mod_echo on all platforms, and ensures any
  2603       custom protocol module is at least given an initial timeout value
  2604       based on the <VirtualHost > context's Timeout directive.
  2605       [William Rowe]
  2606  
  2607    *) mod_proxy: Run the request_status hook also if there are no free workers
  2608       or all workers are in error state.
  2609       [Ruediger Pluem, Brian Akins <brian.akins turner.com>]
  2610  
  2611    *) mod_proxy_connect: Fix high CPU loop on systems like UnixWare which
  2612       trigger POLL_ERR or POLL_HUP on a terminated connection.  PR 36951.
  2613       [Jeff Trawick, Ruediger Pluem]
  2614  
  2615    *) mod_proxy_balancer: Fix handling of sticky sessions with Tomcat.
  2616       PR 36507.  [Ruediger Pluem]
  2617  
  2618    *) SECURITY: CVE-2005-2970 (cve.mitre.org)
  2619       worker MPM: Fix a memory leak which can occur after an aborted
  2620       connection in some limited circumstances.  [Greg Ames]
  2621  
  2622    *) Doxygen fixups.  [Neale Ranns <neale ranns.org>, Ian Holsman]
  2623  
  2624    *) mod_cache/mod_dir: Correct a subrequest lookup bug which was preventing
  2625       mod_dir from serving indexes correctly with mod_cache enabled.
  2626       [Colm MacCarthaigh]
  2627  
  2628  Changes with Apache 2.1.8
  2629  
  2630    *) Fix lingering close implementation to match 1.3.x behaviour.
  2631       PR 35292.  [Joe Orton]
  2632  
  2633    *) mod_ssl: Support limited buffering of request bodies to allow
  2634       per-location renegotiation to proceed.  PR 12355.  [Joe Orton]
  2635  
  2636    *) Fix regression since 2.0.x in AllowOverride Options handling.
  2637       PR 35330.  [kabe <kabe sra-tohoku.co.jp>]
  2638  
  2639    *) mod_ssl: Fix memory leak in ssl_util_algotypeof().
  2640       PR 25659.  [David Blake <dblake hp com>, Martin Kraemer]
  2641  
  2642    *) prefork, worker and event MPMs: Support a graceful-stop procedure:
  2643       Server will wait until existing requests are finished or until
  2644       "GracefulShutdownTimeout" number of seconds before exiting.
  2645       [Colm MacCarthaigh, Ken Coar, Bill Stoddard]
  2646  
  2647    *) prefork, worker and event MPMs: Prevent children from holding open
  2648       listening ports upon graceful restart or stop. PR 28167.
  2649       [Colm MacCarthaigh, Brian Pinkerton <bp thinkpink.com>]
  2650  
  2651    *) SECURITY: CVE-2005-2700 (cve.mitre.org)
  2652       mod_ssl: Fix a security issue where "SSLVerifyClient" was not
  2653       enforced in per-location context if "SSLVerifyClient optional"
  2654       was configured in the vhost configuration.  [Joe Orton]
  2655  
  2656    *) mod_ssl: Catch parse errors from misconfigured or malformed
  2657       CRLs.  PR 36438.  [Joe Orton]
  2658  
  2659    *) mod_proxy/mod_proxy_balancer: lbmethods now implemented as
  2660       providers. Prevent problems when no Vhost containers were
  2661       configured with proxy balancers. [Jim Jagielski]
  2662  
  2663    *) New provider function to list all available provider names in a
  2664       specific group and version (ap_list_provider_names). [Jim Jagielski]
  2665  
  2666    *) mod_cache: Enhance CacheEnable/CacheDisable to control caching on a
  2667       per-protocol, per-host and per-path basis. Intended for proxy
  2668       configurations. [Colm MacCarthaigh]
  2669  
  2670    *) mod_disk_cache: Canonicalise the storage key, for improved hit/miss
  2671       ratio. [Colm MacCarthaigh]
  2672  
  2673    *) mod_cgid: Append .PID to the script socket filename and remove the
  2674       script socket on exit. [Colm MacCarthaigh, Jim Jagielski]
  2675  
  2676    *) mod_cgid: run the get_suexec_identity hook within the request-handler
  2677       instead of within cgid. PR 36410. [Colm MacCarthaigh]
  2678  
  2679    *) Linux 2.0: remove support for threaded MPM's due to linuxthreads use
  2680       of SIGUSR1 clashing with graceful restart signal. [Colm MacCarthaigh]
  2681  
  2682  Changes with Apache 2.1.7
  2683  
  2684    *) SECURITY: CVE-2005-2491 (cve.mitre.org):
  2685       Fix integer overflows in PCRE in quantifier parsing which could
  2686       be triggered by a local user through use of a carefully-crafted
  2687       regex in an .htaccess file.  [Philip Hazel]
  2688  
  2689    *) mod_proxy/mod_proxy_balancer: Provide a simple, functional
  2690       interface to add additional balancer lb selection methods
  2691       without requiring code changes to mod_proxy/mod_proxy_balancer;
  2692       these can be implemented via sub-modules now. [Jim Jagielski]
  2693  
  2694    *) mod_cache: Fix incorrectly served 304 responses when expired cache
  2695       entity is valid, but cache is unwritable and headers cannot be
  2696       updated.  [Colm MacCarthaigh <colm stdlib.net>]
  2697  
  2698    *) mod_cache: Remove entities from the cache when re-validation
  2699       receives a 404 or other content-no-longer-present error.
  2700       [Rüdiger Plüm ruediger.pluem vodafone.com]
  2701  
  2702    *) mod_disk_cache: Properly remove files from cache when needed.
  2703       [Rüdiger Plüm ruediger.pluem vodafone.com]
  2704  
  2705    *) mod_disk_cache: Support htcacheclean removing directories.
  2706       [Andreas Steinmetz]
  2707  
  2708    *) htcacheclean: Add -t option to remove empty directories.
  2709       [Colm MacCarthaigh <colm stdlib.net>]
  2710  
  2711    *) Remove the base href tag from mod_proxy_ftp, as it breaks relative
  2712       links for clients not using an Authorization header. [Graham Leggett,
  2713       Jon Snow <jsnow27 gatesec.net>]
  2714  
  2715    *) mod_cache: Restore the HTTP status of cached responses.
  2716       [Hansjoerg Pehofer <hansjoerg.pehofer uibk.ac.at>]
  2717  
  2718    *) mod_cache: Store varied contents all in the same prefix for a varied URI.
  2719       [Paul Querna]
  2720  
  2721    *) mod_cache: Run the CACHE_SAVE and CACHE_OUT Filters after other content
  2722       filters. [Paul Querna]
  2723  
  2724    *) mod_negotiation: Correctly report 404 instead of 403 for missing files.
  2725       [Paul Querna]
  2726  
  2727    *) new hook (request_status) that gets ran in proxy_handler just before
  2728       the final return.  This gives modules an opportunity to do something
  2729       based on the proxy status. (minor MMN bump)
  2730       [Brian Akins <bakins turner.com>, Ian Holsman]
  2731  
  2732    *) Add additional SSLSessionCache option, 'nonenotnull', which is
  2733       similar to 'none' (disabling any external shared cache) but forces
  2734       OpenSSL to provide a non-null session ID.  [Jim Jagielski]
  2735  
  2736    *) Add httxt2dbm to support/ for creating RewriteMap DBM Files.
  2737       [Paul Querna]
  2738  
  2739    *) Add SSL_COMPRESS_METHOD variable (included in +StdEnvVars) to note
  2740       the negotiated compression.  [Georg v. Zezschwitz <gvz 2scale.de>]
  2741  
  2742    *) Fixed complaints about unpackaged files within the RPM build
  2743       after changes to the config files. [Graham Leggett]
  2744  
  2745    *) Fix shutdown for the Worker MPM when an Accept Filter is used. Instead of
  2746       just closing the socket, a HTTP request is made, to make sure the child is
  2747       always awakened. [Paul Querna]
  2748  
  2749  Changes with Apache 2.1.6
  2750  
  2751    *) Fix htdbm password validation for records which included comments.
  2752       [Eric Covener <covener gmail.com>]
  2753  
  2754    *) mod_cgid: Fix buffer overflow processing ScriptSock directive.
  2755       [Steve Kemp <steve steve.org.uk>]
  2756  
  2757  Changes with Apache 2.1.5
  2758  
  2759    *) mod_ssl: Setting the Protocol to 'https' can replace the use of the
  2760       'SSLEngine on' command. [Paul Querna]
  2761  
  2762    *) core: Refactor the mapping of Accept Filters to Sockets. Add the
  2763       AcceptFilter and Protocol directives to aid in mapping filter types.
  2764       Extend the Listen directive to optionally take a protocol name.
  2765       [Paul Querna]
  2766  
  2767    *) mod_disk_cache: Support storing multiple variations of one URL. PR 35211.
  2768       [Paul Querna]
  2769  
  2770    *) mod_disk_cache: Atomically create the header data file. [Paul Querna]
  2771  
  2772    *) mod_cache: Fix 'Vary: *' behavior to be RFC compliant. PR 16125.
  2773       [Paul Querna]
  2774  
  2775    *) mod_cache: Rename 'generate_name' to 'ap_cache_generate_name'.
  2776       [Paul Querna]
  2777  
  2778    *) mod_mime_magic: Handle CRLF-format magic files so that it works with
  2779       the default installation on Windows.  [Jeff Trawick]
  2780  
  2781    *) core: Allow multiple modules to register interest in a single
  2782       configuration command. [Paul Querna]
  2783  
  2784    *) authn_provider_alias: Adds the configuration block tag
  2785       <AuthnProviderAlias baseProvider Alias>
  2786       Authentication directives contained within this block can be
  2787       referenced as a new authProvider using the AuthBasicProvider or
  2788       AuthDigestProvider directive.  These directives will be merged in to
  2789       the per_dir configuration just before the base provider is called.
  2790       [Brad Nicholes]
  2791  
  2792    *) ap_getword_conf: Fix backslashes at the end of configuration directives.
  2793       PR 34834. [Timo Viipuri <viipuri dlc.fi>]
  2794  
  2795    *) mod_dbd: New additions: mod_dbd.c, mod_dbd.h, mod_dbd.xml
  2796       Provide module hooks for apr_dbd; optimise for httpd
  2797       threaded and non-threaded arch [Nick Kew]
  2798  
  2799    *) ab: SSL support rewritten, improved, and enabled if SSL is enabled
  2800       during the build; -f and -Z arguments added to specify SSL protocol
  2801       options.  [Masaoki Kobayashi <masaoki techfirm.co.jp>]
  2802  
  2803    *) mod_info: Show the Quick Handler [Paul Querna]
  2804  
  2805    *) mod_ldap: Add the directive LDAPVerifyServerCert to specify
  2806       whether to force verification of the server certificate when
  2807       establishing an SSL connection to the LDAP server.
  2808       [Brad Nicholes]
  2809  
  2810    *) mod_proxy: Run mod_rewrite before mod_proxy in the translate_name
  2811       hook. [Paul Querna]
  2812  
  2813    *) Add AP_INIT_TAKE_ARGV for configuration commands. (minor MMN bump)
  2814       [Paul Querna]
  2815  
  2816    *) ap_get_local_host() rewritten for APR. [Jim Jagielski]
  2817  
  2818    *) Add the ap_vhost_iterate_given_conn function to expose the information
  2819       used in Name Based Virtual Hosting. (minor MMN bump)
  2820       [Paul Querna]
  2821  
  2822    *) Remove the never working ap_method_list_do and ap_method_list_vdo.
  2823       [Paul Querna]
  2824  
  2825    *) Added makefile and doc for building mod_ssl on the NetWare
  2826       platform. [Guenter Knauf, Brad Nicholes]
  2827  
  2828    *) mod_deflate: Merge the Vary header, isntead of Setting it. Fixes
  2829       applications that send the Vary Header themselves, and also apply
  2830       mod_deflate as an output filter. [Paul Querna]
  2831  
  2832    *) Change the default (when not present in the config file) setting
  2833       for UseCanonicalName to Off.
  2834       [Joshua Slive]
  2835  
  2836    *) mod_userdir: The module no longer does any remapping unless the
  2837       UserDir directive is present in the config file.
  2838       [Joshua Slive]
  2839  
  2840    *) Massively simplify the distributed httpd.conf by removing
  2841       many features and many directives that are at their default
  2842       setting.  Add a selection of example config excerpts for adding
  2843       extra features in the conf/extra/ directory.  Install the
  2844       distributed config and the extra config examples in the
  2845       conf/original/ directory during make install.
  2846       [Joshua Slive, Justin Erenkrantz]
  2847  
  2848    *) NetWare: Reposition mod_asis, mod_actions, mod_cgi, mod_imagemap,
  2849       mod_userdir and mod_autoindex as shared modules rather than
  2850       built-in modules within the NetWare build.
  2851       [Brad Nicholes]
  2852  
  2853    *) Rename mod_imap to mod_imagemap.
  2854       [Paul Querna]
  2855  
  2856    *) util_ldap: Eliminate the load ordering of mod_ldap and mod_authnz_ldap
  2857       by changing the mod_ldap exported functions to optional functions.
  2858       [Brad Nicholes]
  2859  
  2860  Changes with Apache 2.1.4
  2861  
  2862    *) Don't let a subrequest inherit headers describing the original request's
  2863       body.  [Greg Ames]
  2864  
  2865    *) Fix Windows CompContext buff size miscalculation
  2866       [Allan Edwards]
  2867  
  2868    *) Add ReceiveBufferSize directive to control the TCP receive buffer.
  2869       [Eric Covener <covener gmail.com>]
  2870  
  2871    *) mod_proxy: Add proxy-sendextracrlf option to send an extra CRLF at the
  2872       end of the request body to work with really old HTTP servers.
  2873       [Justin Erenkrantz]
  2874  
  2875    *) util_ldap: Keep track of the number of attributes retrieved from
  2876       LDAP so that all the values can be properly cached even if the
  2877       value is NULL. PR 33901 [Brad Nicholes]
  2878  
  2879    *) mod_cache: Fix error where incoming Cache-Control would be ignored.
  2880       [Justin Erenkrantz]
  2881  
  2882    *) mod_cache: Correctly handle originally conditional requests.
  2883       [Sander Striker]
  2884  
  2885    *) mod_disk_cache: Correctly update cached headers on revalidated responses.
  2886       [Sander Striker, Justin Erenkrantz]
  2887  
  2888    *) worker MPM/mod_status: Support per-worker tracking of pid and
  2889       generation in the scoreboard so that mod_status can accurately
  2890       represent workers in processes which are gracefully terminating.
  2891       (major MMN bump)
  2892       [Jeff Trawick]
  2893  
  2894    *) Correctly export all mod_dav public functions.
  2895       [Branko Čibej <brane xbc.nu>]
  2896  
  2897  Changes with Apache 2.1.3
  2898  
  2899    *) mod_ssl: Add ssl_ext_lookup optional function for accessing
  2900       certificate extensions.   [David Reid, Joe Orton]
  2901  
  2902    *) Add support for use of an external PCRE library; pass the
  2903       --with-pcre flag to configure.  PR 27550.  [Joe Orton,
  2904       Andres Salomon <dilinger voxel.net>]
  2905  
  2906    *) Renamed regex interfaces to be namespace-safe, and moved from
  2907       pcreposix.h header to ap_regex.h: regex_t->ap_regex_t,
  2908       regmatch_t->ap_regmatch_t; REG_*->AP_REG_*; functions
  2909       reg*->ap_reg*.  PR 27550.  [Andres Salomon <dilinger voxel.net>,
  2910       Joe Orton]
  2911  
  2912    *) Only recompile buildmark.c when we have to relink httpd.
  2913       [Justin Erenkrantz]
  2914  
  2915    *) mod_cache: Fix up handling of revalidated responses.
  2916       [Justin Erenkrantz]
  2917  
  2918    *) mod_disk_cache: Properly load cached ETag from on-disk structures.
  2919       [Justin Erenkrantz]
  2920  
  2921    *) mod_authnz_ldap: Added an optional second parameter to AuthLDAPURL
  2922       to allow it to override the connection type set in mod_ldap. This
  2923       parameter can be set to NONE, SSL or TLS | STARTTLS.
  2924       [Brad Nicholes]
  2925  
  2926    *) Fix --with-apr=/usr and/or --with-apr-util=/usr.  PR 29740.
  2927       [Max Bowsher <maxb ukf.net>]
  2928  
  2929    *) mod_proxy: Fix ProxyRemoteMatch directive.  PR 33170.
  2930       [Rici Lake <rici ricilake.net>]
  2931  
  2932    *) mod_proxy: Fix ap_proxy_canonenc API.
  2933       PR 32459. [Jim Jagielski]
  2934  
  2935    *) mod_cache: Add CacheStorePrivate and CacheStoreNoStore directive.
  2936       [Justin Erenkrantz]
  2937  
  2938    *) Add --enable-pie flag to configure, to build httpd as a Position
  2939       Independent Executable where supported (GCC/binutils).
  2940       [Joe Orton]
  2941  
  2942    *) proxy_balancer: Add in load-balancing via weighted traffic
  2943       byte count. [Jim Jagielski]
  2944  
  2945    *) mod_disk_cache: Cache r->err_headers_out headers.  This allows CGI
  2946       scripts to be properly cached.  [Justin Erenkrantz, Sander Striker]
  2947  
  2948    *) mod_ldap: Updated to use the new apr-util v1.1 apr_ldap_*_option()
  2949       API for the setting of server and client SSL certificates. Replaced
  2950       LDAPTrustedCA directive with LDAPTrustedGlobalCert and
  2951       LDAPTrustedClientCert directives to correctly support global certs
  2952       (CA certs / Netware client certs) and per connection client certs
  2953       as supported by Netware, OpenLDAP and Netscape/Mozilla.
  2954       [Graham Leggett]
  2955  
  2956    *) mod_cache: Remove unimplemented CacheForceCompletion directive.
  2957       [Justin Erenkrantz]
  2958  
  2959    *) support/check_forensic: Fix temp file usage
  2960       [Javier Fernandez-Sanguino Pen~a <jfs computer.org>]
  2961  
  2962    *) mod_ssl: Add SSLCADNRequestFile and SSLCADNRequestPath directives
  2963       which can be used to configure a specific list of CA names to send
  2964       in a client certificate request.  PR 32848.
  2965       [Tim Taylor <tim.taylor dfas.mil>]
  2966  
  2967    *) --with-module can now take more than one module to be statically
  2968       linked: --with-module=<modtype>:<modfile>,<modtype>:<modfile>,...
  2969       If the <modtype>-subdirectory doesn't exist it will be created and
  2970       populated with a standard Makefile.in.  [Erik Abele]
  2971  
  2972    *) Remove some compiler warnings within the LDAP modules [Graham Leggett]
  2973  
  2974    *) Add a build script to create a solaris package. [Graham Leggett]
  2975  
  2976    *) ap_http_scheme() replaced with ap_http_method() - this function
  2977       returns the scheme (http v.s. https).
  2978       [William Rowe]
  2979  
  2980    *) mod_proxy: Fix a request corruption problem and a buffering problem
  2981       which sometimes prevented proxy-sendchunks from working.
  2982       [Jeff Trawick]
  2983  
  2984    *) Fix the RPM spec file so that an RPM build now works. An RPM
  2985       build now requires system installations of APR and APR-util.
  2986       [Graham Leggett]
  2987  
  2988    *) Significantly simplify the load balancer scheduling algorithm
  2989       for the proxy BalancerMember weighting. loadfactors (lbfactors)
  2990       are now normalized with respect to each other. [Jim Jagielski]
  2991  
  2992    *) mod_dumpio: Added to the available module suite; it is an
  2993       I/O logging/dumping module. Placed in the (new) debug module
  2994       subdirectory. mod_bucketeer moved to that directory as well.
  2995       [Jim Jagielski]
  2996  
  2997    *) core: Add support for APR_TCP_DEFER_ACCEPT to defer accepting
  2998       of a connection until data is available.
  2999       [Paul Querna]
  3000  
  3001  Changes with Apache 2.1.2
  3002  
  3003    *) mod_proxy: Respect errors reported by pre_connection hooks.
  3004       [Jeff Trawick]
  3005  
  3006    *) core: Error out on sections that are missing an argument instead of
  3007       silently consuming the section. PR 25460.
  3008       [Geoffrey Young, Paul Querna]
  3009  
  3010    *) mod_cache/mod_mem_cache/mod_disk_cache: Move out of experimental.
  3011  
  3012    *) Upgraded PCRE to version 5.0. [Brian Pane]
  3013  
  3014    *) mod_cgid: Catch configuration problem where two web server instances
  3015       share same ServerRoot but admin forgot to use ScriptSock.
  3016       [Jeff Trawick]
  3017  
  3018    *) mod_cgi: Ensure that all stderr is logged for a script which returns
  3019       a Location header to generate a non-local redirect.  PR 20111.
  3020       [Joe Orton]
  3021  
  3022    *) Added the Event MPM to more efficiently handle clients during a
  3023       Keep Alive request.
  3024       [Paul Querna, Greg Ames]
  3025  
  3026  Changes with Apache 2.1.1
  3027  
  3028    *) mod_proxy_http: Stream content better - always flush buffered data to
  3029       the client before blocking waiting for new data.  PR 19954.
  3030       [Joe Orton]
  3031  
  3032    *) mod_ssl: Add support for command-line option "-t -DDUMP_CERTS" which
  3033       will dump the filenames of all configured SSL certificates to stdout.
  3034       [Joe Orton]
  3035  
  3036    *) mod_disk_cache: Remove a bunch of non-implemented garbage collection
  3037       and cache size directives that are now available through htcacheclean.
  3038       [Justin Erenkrantz]
  3039  
  3040    *) Add htcacheclean to support/ for assistance with mod_disk_cache.
  3041       [Andreas Steinmetz]
  3042  
  3043    *) mod_authnz_ldap: Added the directive "Requires ldap-filter" that
  3044       allows the module to authorize a user based on a complex LDAP
  3045       search filter.  [Brad Nicholes]
  3046  
  3047    *) mod_usertrack: Run the fixups hook before other modules.
  3048       PR 29755.  [Paul Querna]
  3049  
  3050    *) Allow mod_authnz_ldap authorization functionality to be used
  3051       without requiring the user to also be authenticated through
  3052       mod_authnz_ldap. This allows other authentication modules to
  3053       take advantage of LDAP authorization only [PR 28253]
  3054       [Jari Ahonen jah progress.com, Brad Nicholes]
  3055  
  3056    *) Log the client IP address when an error occurs disabling nagle on a
  3057       connection, but log at a severity of debug since this error
  3058       generally means that the connection was dropped before data was
  3059       sent.  Log the client IP address when reporting errors in the core
  3060       output filter.  [Jeff Trawick]
  3061  
  3062    *) core: Add a warning message if the request line read fails.
  3063       [Paul Querna]
  3064  
  3065    *) mod_rewrite: Removed the MaxRedirects option in favor of the
  3066       core LimitInternalRecursion directive.  [André Malo]
  3067  
  3068    *) mod_info: Added listing of the Request Hooks and added more build
  3069       information like 'httpd -V' contains. Changed output to XHTML.
  3070       [Paul Querna]
  3071  
  3072    *) mod_info: Rewrote config tree walk using a recursive function.
  3073       Added ?config option. Added printout of config filename and line numbers.
  3074       [Rici Lake <rici ricilake.net>, Paul Querna]
  3075  
  3076    *) mod_proxy: Fix type error that prevents proxy-sendchunks from working.
  3077       [Justin Erenkrantz]
  3078  
  3079    *) mod_proxy: Fix data corruption by properly setting aside buckets.
  3080       [Justin Erenkrantz]
  3081  
  3082    *) mod_proxy: If a request has a blank body and has a 0 Content-Length
  3083       headers, pass that to the proxy.  [Justin Erenkrantz]
  3084  
  3085    *) Recognize QSA flag in mod_rewrite again.
  3086       [Jan Kratochvil <rcpt-dev.AT.httpd.apache.org jankratochvil.net>]
  3087  
  3088    *) Restructured mod_auth_ldap to fit the new authentication model.
  3089       The module is now called authnz_ldap and has been moved out of
  3090       the modules/experimental area and into modules/aaa with the other
  3091       auth modules.  Both the authn_ldap provider and the authz_ldap
  3092       handler are contained within the authnz_ldap module.  The
  3093       authz_ldap handler introduces 3 new "requires" values for handling
  3094       authorization.  These handlers are ldap-user, ldap-group and
  3095       ldap-dn. [Brad Nicholes]
  3096  
  3097    *) Fix some compiler warnings in proxy
  3098       [Geoffrey Young <geoff@modperlcookbook.org>]
  3099  
  3100    *) mod_ssl: Add SSL_CLIENT_V_REMAIN variable, representing the
  3101       number of days until the client cert expires.  [Joe Orton]
  3102  
  3103    *) Add test_config hook, run only if httpd is invoked using -t.
  3104       [Joe Orton]
  3105  
  3106    *) Improve error handling for corrupted pid files.  [Jeff Trawick]
  3107  
  3108    *) mod_proxy.c and proxy_util.c: Enable compiling on 2.0-HEAD
  3109       (for backwards compatibility):
  3110       Avoids mod_ssl.h (not included in 2.0-HEAD) and
  3111       use apr_socket_create_ex for 0.9.x
  3112       [Mladen Turk]
  3113  
  3114    *) Added proxy_ajp.c module for proxy support to ajp:// backends.
  3115       [Jean Frederic Clere]
  3116  
  3117    *) Fixes the build of proxy on Windows. Since the proxy_module is declared
  3118       as extern using AP_MODULE_DECLARE_DATA that expands to dllexport, there
  3119       is a LNK2001 error when building proxy_http. [Mladen Turk]
  3120  
  3121    *) Remove LDAP toolkit specific code from util_ldap and mod_auth_ldap.
  3122       [Graham Leggett]
  3123  
  3124    *) Remove deprecated/removed APR_STATUS_IS_SUCCESS().  [Justin Erenkrantz]
  3125  
  3126    *) perchild MPM: Fix thread safety problem in the use of longjmp().
  3127       [Tsuyoshi SASAMOTO <nazonazo super.win.ne.jp>]
  3128  
  3129    *) Add load balancer support to the scoreboard in preparation for
  3130       load balancing support in mod_proxy. [Mladen Turk]
  3131  
  3132    *) mod_nw_ssl: Added the directive NWSSLUpgradeable to mod_nw_ssl to
  3133       allow a non-secure connection to be upgraded to secure connections
  3134       [Brad Nicholes]
  3135  
  3136    *) core: Add Options= syntax to AllowOverride to specify which options
  3137       may be overridden in .htaccess files. PR 29310.
  3138       [Tom Alsberg <alsbergt cs.huji.ac.il>, Paul Querna]
  3139  
  3140    *) ab: Handle long URLs with an error instead of an buffer overflow.
  3141       PR 28204. [Erik Weide <erik.weidel mplus-technologies.de>, Paul Querna]
  3142  
  3143    *) mod_so, core: Add new command line options to print all loaded
  3144       modules. '-t -D DUMP_MODULES' and '-M' will show all static
  3145       and shared modules as loaded from the configuration file.
  3146       [Paul Querna]
  3147  
  3148    *) mod_autoindex: Add ShowForbidden to IndexOptions to list files
  3149       that are not shown because the subrequest returned 401 or 403.
  3150       PR 10575.  [Paul Querna]
  3151  
  3152    *) mod_headers: implement "Early" processing option in post_read_request
  3153       to enable Header and RequestHeader directives to be used to set up
  3154       testcases for pre-fixups request phases [Nick Kew]
  3155  
  3156    *) mod_proxy: multiple bugfixes, principally support cookies in
  3157       ProxyPassReverse, and don't canonicalise URL passed to backend.
  3158       Documentation correspondingly updated. [Nick Kew <nick webthing.com>]
  3159  
  3160    *) mod_deflate: support gzip flags in inflate_out_filter
  3161       [Nick Kew <nick webthing.com>]
  3162  
  3163    *) Drop the ErrorHeader directive which turned out to be a misnomer.
  3164       Instead there's a new optional flag for the Header directive
  3165       ('always'), which keeps the former ErrorHeader functionality.
  3166       [André Malo]
  3167  
  3168    *) mod_deflate: Don't deflate responses with zero length
  3169       e.g. proxied 304's [Allan Edwards]
  3170  
  3171    *) <IfModule> now recognizes the module identifier in addition to the
  3172       file name. PR 29003.  [Edward Rudd <eddie omegaware.com>, André Malo]
  3173  
  3174    *) mod_ssl: Add "SSLHonorCipherOrder" directive to enable the
  3175       OpenSSL 0.9.7 flag which uses the server's cipher order rather
  3176       than the client's.  PR 28665.
  3177       [Jim Schneider <jschneid netilla.com>]
  3178  
  3179    *) mod_ssl: Drop support for the CompatEnvVars argument to
  3180       SSLOptions, which was never actually implemented in 2.0.
  3181       [Joe Orton]
  3182  
  3183    *) Fix bug in mod_deflate that unconditionally sent deflate'd output
  3184       even when Accept-Encoding is not present.  [Justin Erenkrantz]
  3185  
  3186    *) Pass environment variables through to piped loggers and start
  3187       them via the shell, resolving regressions since 1.3.  PR 28815
  3188       [Ken Coar, Jeff Trawick]
  3189  
  3190    *) External rewrite map responses are no longer limited to 2048
  3191       bytes.  [André Malo]
  3192  
  3193    *) Proxy server was deleting cookies that Apache had already
  3194       assigned if the origin server had set any cookies. PR 27023.
  3195       [Jim Jagielski]
  3196  
  3197    *) Removed old and unmaintained ap_add_named_module API and changed
  3198       the following APIs to return an error instead of hard exiting:
  3199       ap_add_module, ap_add_loaded_module, ap_setup_prelinked_modules,
  3200       and ap_process_resource_config.  [André Malo]
  3201  
  3202    *) mod_headers: Allow %% in header values to represent a literal %.
  3203       [André Malo]
  3204  
  3205    *) mod_headers: Allow env clauses also for 'echo' and 'unset' actions.
  3206       [André Malo]
  3207  
  3208    *) mod_headers: Allow 'echo' also for ErrorHeaders.  [André Malo]
  3209  
  3210    *) mod_deflate: New option for DEFLATE output file (force-gzip),
  3211       new output filter 'INFLATE' for uncompressing responses.
  3212       [Nick Kew <Nick at WebThing dot com>, Ian Holsman]
  3213  
  3214    *) Added new module mod_version, which provides version dependent
  3215       configuration containers.  [André Malo]
  3216  
  3217    *) mod_log_config now logs all Set-Cookie headers if the %{Set-Cookie}o
  3218       format is used.  PR 27787.  [André Malo]
  3219  
  3220    *) Allow Digest providers to return AUTH_DENIED to propagate a 401
  3221       status and terminate the provider chain prior to checking the password.
  3222       [Geoffrey Young]
  3223  
  3224    *) mod_cgid: Don't allow Scriptsock to be specified inside VirtualHost;
  3225       Don't place script socket inside default server root instead of
  3226       actual server root.  PR 27886.  [Jeff Trawick]
  3227  
  3228    *) mod_proxy: Fix handling of non-200 success status codes when
  3229       "ProxyErrorOverride On" is configured.  PR 20183.
  3230       [Marcus Janson <marcus.janson tre.se>, Joe Orton]
  3231  
  3232    *) Threaded MPMs for Unix and Win32: Add support for ThreadStackSize
  3233       directive (previously NetWare-only) to override default thread
  3234       stack size for threads which handle client connections.  Required
  3235       for some third-party modules on platforms with small default
  3236       thread stack size.  [Jeff Trawick]
  3237  
  3238    *) minor mod_auth_basic and mod_auth_digest sync.  mod_auth_basic
  3239       now populates r->user with the (possibly unauthenticated) user,
  3240       and mod_auth_digest returns 500 when a provider returns
  3241       AUTH_GENERAL_ERROR.
  3242       [Geoffrey Young]
  3243  
  3244    *) The whole codebase was relicensed and is now available under
  3245       the Apache License, Version 2.0 (http://www.apache.org/licenses).
  3246       [Apache Software Foundation]
  3247  
  3248    *) Delete some make-generated files in the server directory during
  3249       "make clean" processing.  PR 26552.  [Jeff Trawick]
  3250  
  3251    *) Add core version query function (ap_get_server_revision) and
  3252       accompanying ap_version_t structure (minor MMN bump).
  3253       [André Malo]
  3254  
  3255    *) mod_rewrite: EOLs sent by external rewritemaps are now consumed
  3256       as whole. That way, on systems with more than one EOL character
  3257       rewritemap programs no longer need to switch stdout to binary
  3258       mode. PR 25635.  [André Malo]
  3259  
  3260    *) mod_rewrite: Introduce the ability to force a content handler via
  3261       the [handler=...] flag.  [André Malo]
  3262  
  3263    *) mod_rewrite: Introduce the RewriteCond -x check, which returns
  3264       true if the pattern is a file with execution permissions.
  3265       [André Malo]
  3266  
  3267    *) mod_rewrite: Allow proxying and RewriteRules in directory context
  3268       for subrequests.  PR 14648, 15114.  [André Malo]
  3269  
  3270    *) mod_rewrite: Allow setting of any valid HTTP response code.
  3271       PR 25917.  [André Malo]
  3272  
  3273    *) mod_rewrite: Cookie creation now works locale independent.
  3274       [André Malo]
  3275  
  3276    *) mod_ssl: Add support for distributed session cache using 'distcache'.
  3277       [Geoff Thorpe <geoff geoffthorpe.net>]
  3278  
  3279    *) mod_dav: Disallow requests with an unescaped hash character in
  3280       the Request-URI.  PR 21779.  [Amit Athavale <amit_athavale lycos.com>]
  3281  
  3282    *) mod_proxy with ProxyErrorOverride On in a reverse-proxy configuration
  3283       attaches a body to the 302 response and a wrong Content-Length header.
  3284       PR: 22951 [Ermanno Scaglione scaglione ..at.. starnetone.de]
  3285  
  3286    *) Bring ErrorHeader concept forward from 1.3, so that response
  3287       header fields can be set for return even on errors or external
  3288       redirects.  [Ken Coar]
  3289  
  3290    *) Fix <Limit> and <LimitExcept> parsing to require a closing '>'
  3291       in the initial container.  PR 25414.
  3292       [Geoffrey Young <geoff apache.org>]
  3293  
  3294    *) Clean up httpd -V output: Instead of displaying the MPM source
  3295       directory, display the MPM name and some MPM properties.
  3296       [Geoffrey Young <geoff apache.org>]
  3297  
  3298    *) mod_ssl/mod_status: Re-enable support for output of SSL session
  3299       cache information in server-status page.  [Joe Orton]
  3300  
  3301    *) mod_ssl: Remove the shmht session cache, shmcb should be used
  3302       instead.  [Joe Orton]
  3303  
  3304    *) mod_logio: Account for some bytes handed to the network layer prior to
  3305       dropped connections.  [Jeff Trawick]
  3306  
  3307    *) mod_autoindex: new directive IndexStyleSheet
  3308      [Tyler Riddle <triddle_1999 yahoo.com>, Paul Querna <chip force-elite.com>]
  3309  
  3310    *) Fix uninitialized gprof directory name in prefork MPM.  PR 24450.
  3311       [Chris Knight <Christopher.D.Knight nasa.gov>]
  3312  
  3313    *) Log an error when requests for URIs which fail to map to a valid
  3314       filesystem name are rejected with 403.  [Jeff Trawick]
  3315  
  3316    *) Switch to APR 1.0 API.
  3317  
  3318    *) Major overhaul of mod_include's filter parser. The new parser code
  3319       is expected to be more robust and should catch all of the edge cases
  3320       that were not handled by the previous one. This includes a binary
  3321       incompatible change of mod_include's external API.  [André Malo]
  3322  
  3323    *) mod_rewrite: Allow forced mimetypes [T=...] to get expanded.
  3324       PR 14223.  [André Malo]
  3325  
  3326    *) mod_rewrite: Fix LA-U and LA-F lookups in directory context. Previously
  3327       the current rewrite state was just used as lookup path, which lead to
  3328       strange and often useless results. Related to PR 8493.  [André Malo]
  3329  
  3330    *) Change Listen directive to bind to all addresses when a hostname is
  3331       not specified.  [Justin Erenkrantz]
  3332  
  3333    *) Correct failure with Listen directives on machines with IPv6 enabled.
  3334       [Colm MacCárthaigh <colm stdlib.net>, Justin Erenkrantz]
  3335  
  3336    *) Fix a link failure in mod_ssl when the OpenSSL libraries contain
  3337       the ENGINE functions but the engine header files are missing.
  3338       [Cliff Woolley]
  3339  
  3340    *) mod_rewrite: RewriteRules in server context using the force
  3341       type feature [T=...] no longer disable MultiViews.  [André Malo]
  3342  
  3343    *) mod_rewrite: Allow piped rewrite logs to be relative to ServerRoot.
  3344       [André Malo]
  3345  
  3346    *) mod_authz_groupfile: Strip trailing spaces of group names. This
  3347       hopefully saves some hours of searching for typos. PR 12863.
  3348       [André Malo]
  3349  
  3350    *) mod_actions: Propagate the handler name to the action script via
  3351       the REDIRECT_HANDLER environment variable.  [André Malo]
  3352  
  3353    *) mod_actions: Introduce the "virtual" modifier to the Action directive,
  3354       which allows the use of handlers for virtual locations. PR 8431.
  3355       [André Malo]
  3356  
  3357    *) mod_speling: Recognize AcceptPathInfo setting for the particular
  3358       location. Default is to reject path information. PR 21059.
  3359       [André Malo]
  3360  
  3361    *) mod_ext_filter: Add the ability to filter request bodies.
  3362       [Philipp Reisner <philipp.reisner linbit.com>]
  3363  
  3364    *) Fix some broken log messages in WinNT MPM.
  3365       [Juan Rivera <Juan.Rivera citrix.com>]
  3366  
  3367    *) prefork MPM: Use the right permissions for the directory created
  3368       for gprof support.  [Jim Carlson <jcarlson jnous.com>]
  3369  
  3370    *) Fix a compile failure with recent OpenSSL and picky compilers
  3371       (e.g., OpenSSL 0.9.7a and xlc_r on AIX).  [Jeff Trawick]
  3372  
  3373    *) OpenSSL headers should be included as "openssl/ssl.h", and not rely on
  3374       the INCLUDE path to be defined properly.
  3375       PR 11310. [Geoff Thorpe <geoff geoffthorpe.net>]
  3376  
  3377    *) Modify APACHE_CHECK_SSL_TOOLKIT to detect SSL-C. [Madhusudan Mathihalli]
  3378  
  3379    *) Replace the APACHE_CHECK_SSL_TOOLKIT method with a cleaner one, using
  3380       autoconf tools (AC_CHECK_HEADER, AC_CHECK_LIB etc).
  3381       [Geoff Thorpe <geoff geoffthorpe.net>]
  3382  
  3383    *) change directive name from 'compressionlevel' to 'deflatecompressionlevel'
  3384       [Ian Holsman, André Malo]
  3385  
  3386    *) mod_negotiation: quality values are now parsed independent from
  3387       the current locale. level values are now really parsed as integers.
  3388       PR 17564.  [André Malo]
  3389  
  3390    *) Extend mod_negotiation to evaluate the environment variables
  3391       no-gzip and gzip-only-text/html the same way as mod_deflate does.
  3392       [André Malo]
  3393  
  3394    *) mod_rewrite: Fix some problems reporting errors with mapping
  3395       programs (RewriteMap prg:/something).  [Jeff Trawick]
  3396  
  3397    *) Return 413 if chunk-ext-header is too long rather than reading from
  3398       the truncated line.  PR 15857.  [Justin Erenkrantz]
  3399  
  3400    *) Allow restart of httpd to occur even with syntax errors in the config
  3401       file.  PR 16813.  [Justin Erenkrantz]
  3402  
  3403    *) Use APR_LAYOUT instead of APACHE_LAYOUT in configure.  PR 15679.
  3404       [Justin Erenkrantz]
  3405  
  3406    *) Remove files on 'make distclean' that should be.  PR 15592.
  3407       [Justin Erenkrantz]
  3408  
  3409    *) Allow apachectl to perform status with links and elinks as well.
  3410       [Justin Erenkrantz]
  3411  
  3412    *) mod_log_config change optional hook to return previous handler
  3413       [Ian Holsman]
  3414  
  3415    *) Forward port of mod_actions' ability to handle arbitrary methods
  3416       with the Script directive.  [André Malo]
  3417  
  3418    *) Let suexec send a message to stderr, if it failed or its policy
  3419       was violated. This message appears in the error log and allows
  3420       for easier debugging. PR 5381, 7638, 8255, 10773.  [André Malo]
  3421  
  3422    *) Modify buildconf to copy all required files into httpd's tree.
  3423       [Thom May <thom planetarytramp.net>]
  3424  
  3425    *) Allow mod_dav to do weak entity comparison functions.
  3426       [Justin Erenkrantz]
  3427  
  3428    *) Move RFC 1413 ident requests from core to new module mod_ident.
  3429       [André Malo]
  3430  
  3431    *) Add mod_authz_owner - a forward port of "Require file-owner"
  3432       and "Require file-group", which was already present in version
  3433       1.3.21.  [André Malo]
  3434  
  3435    *) Add mod_dav_lock - a generic subset of the DAV locking implementation.
  3436       [Justin Erenkrantz]
  3437  
  3438    *) Replace some of the mutex locking in the worker MPM with
  3439       atomic operations for higher concurrency.  [Brian Pane]
  3440  
  3441    *) Allow 'make depend' to work with non-GCC compilers.
  3442       [Justin Erenkrantz]
  3443  
  3444    *) If an httpd.conf has commented out AddModule directives,
  3445       apxs -i -a will add an un-commented AddModule directive for
  3446       the new module, which breaks the config.
  3447       PR: 11212 [Joe Orton]
  3448  
  3449    *) Fix mod_proxy handling of filtered input bodies.  [Justin Erenkrantz]
  3450  
  3451    *) Move the check of the Expect request header field after the hook
  3452       for ap_post_read_request, since that is the only opportunity for
  3453       modules to handle Expect extensions.  [Justin Erenkrantz]
  3454  
  3455    *) Rewrite of aaa modules to an authn/authz model.
  3456       [Dirk-Willem van Gulik, Justin Erenkrantz]
  3457  
  3458    [Apache 2.1.0-dev includes those bug fixes and changes with the
  3459     Apache 2.0.xx tree as documented, and except as noted, below.]
  3460  
  3461  Changes with Apache 2.0.x and later:
  3462  
  3463    *) http://svn.apache.org/viewvc/httpd/httpd/branches/2.0.x/CHANGES?view=markup
  3464