| 1 |
-*- coding: utf-8 -*- |
| 2 |
Changes with Apache 2.4.61 |
| 3 |
|
| 4 |
Changes with Apache 2.4.60 |
| 5 |
|
| 6 |
*) SECURITY: CVE-2024-39573: Apache HTTP Server: mod_rewrite proxy |
| 7 |
handler substitution (cve.mitre.org) |
| 8 |
Potential SSRF in mod_rewrite in Apache HTTP Server 2.4.59 and |
| 9 |
earlier allows an attacker to cause unsafe RewriteRules to |
| 10 |
unexpectedly setup URL's to be handled by mod_proxy. |
| 11 |
Credits: Orange Tsai (@orange_8361) from DEVCORE |
| 12 |
|
| 13 |
*) SECURITY: CVE-2024-38477: Apache HTTP Server: Crash resulting in |
| 14 |
Denial of Service in mod_proxy via a malicious request |
| 15 |
(cve.mitre.org) |
| 16 |
null pointer dereference in mod_proxy in Apache HTTP Server |
| 17 |
2.4.59 and earlier allows an attacker to crash the server via a |
| 18 |
malicious request. |
| 19 |
Credits: Orange Tsai (@orange_8361) from DEVCORE |
| 20 |
|
| 21 |
*) SECURITY: CVE-2024-38476: Apache HTTP Server may use |
| 22 |
exploitable/malicious backend application output to run local |
| 23 |
handlers via internal redirect (cve.mitre.org) |
| 24 |
Vulnerability in core of Apache HTTP Server 2.4.59 and earlier |
| 25 |
are vulnerably to information disclosure, SSRF or local script |
| 26 |
execution via backend applications whose response headers are |
| 27 |
malicious or exploitable. |
| 28 |
|
| 29 |
Note: Some legacy uses of the 'AddType' directive to connect a |
| 30 |
request to a handler must be ported to 'AddHandler' after this fix. |
| 31 |
|
| 32 |
Credits: Orange Tsai (@orange_8361) from DEVCORE |
| 33 |
|
| 34 |
*) SECURITY: CVE-2024-38475: Apache HTTP Server weakness in |
| 35 |
mod_rewrite when first segment of substitution matches |
| 36 |
filesystem path. (cve.mitre.org) |
| 37 |
Improper escaping of output in mod_rewrite in Apache HTTP Server |
| 38 |
2.4.59 and earlier allows an attacker to map URLs to filesystem |
| 39 |
locations that are permitted to be served by the server but are |
| 40 |
not intentionally/directly reachable by any URL, resulting in |
| 41 |
code execution or source code disclosure. |
| 42 |
Substitutions in server context that use a backreferences or |
| 43 |
variables as the first segment of the substitution are affected. |
| 44 |
Some unsafe RewiteRules will be broken by this change and the |
| 45 |
rewrite flag "UnsafePrefixStat" can be used to opt back in once |
| 46 |
ensuring the substitution is appropriately constrained. |
| 47 |
Credits: Orange Tsai (@orange_8361) from DEVCORE |
| 48 |
|
| 49 |
*) SECURITY: CVE-2024-38474: Apache HTTP Server weakness with |
| 50 |
encoded question marks in backreferences (cve.mitre.org) |
| 51 |
Substitution encoding issue in mod_rewrite in Apache HTTP Server |
| 52 |
2.4.59 and earlier allows attacker to execute scripts in |
| 53 |
directories permitted by the configuration but not directly |
| 54 |
reachable by any URL or source disclosure of scripts meant to |
| 55 |
only to be executed as CGI. |
| 56 |
|
| 57 |
Note: Some RewriteRules that capture and substitute unsafely will now |
| 58 |
fail unless rewrite flag "UnsafeAllow3F" is specified. |
| 59 |
|
| 60 |
Credits: Orange Tsai (@orange_8361) from DEVCORE |
| 61 |
|
| 62 |
*) SECURITY: CVE-2024-38473: Apache HTTP Server proxy encoding |
| 63 |
problem (cve.mitre.org) |
| 64 |
Encoding problem in mod_proxy in Apache HTTP Server 2.4.59 and |
| 65 |
earlier allows request URLs with incorrect encoding to be sent |
| 66 |
to backend services, potentially bypassing authentication via |
| 67 |
crafted requests. |
| 68 |
Credits: Orange Tsai (@orange_8361) from DEVCORE |
| 69 |
|
| 70 |
*) SECURITY: CVE-2024-38472: Apache HTTP Server on WIndows UNC SSRF |
| 71 |
(cve.mitre.org) |
| 72 |
SSRF in Apache HTTP Server on Windows allows to potentially leak |
| 73 |
NTML hashes to a malicious server via SSRF and malicious |
| 74 |
requests or content |
| 75 |
|
| 76 |
Note: Existing configurations that access UNC paths |
| 77 |
will have to configure new directive "UNCList" to allow access |
| 78 |
during request processing. |
| 79 |
|
| 80 |
Credits: Orange Tsai (@orange_8361) from DEVCORE |
| 81 |
|
| 82 |
*) SECURITY: CVE-2024-36387: Apache HTTP Server: DoS by Null |
| 83 |
pointer in websocket over HTTP/2 (cve.mitre.org) |
| 84 |
Serving WebSocket protocol upgrades over a HTTP/2 connection |
| 85 |
could result in a Null Pointer dereference, leading to a crash |
| 86 |
of the server process, degrading performance. |
| 87 |
Credits: Marc Stern (<marc.stern AT approach-cyber.com>) |
| 88 |
|
| 89 |
*) mod_proxy: Fix DNS requests and connections closed before the |
| 90 |
configured addressTTL. BZ 69126. [Yann Ylavic] |
| 91 |
|
| 92 |
*) core: On Linux, log the real thread ID in error logs. [Joe Orton] |
| 93 |
|
| 94 |
*) core: Support zone/scope in IPv6 link-local addresses in Listen and |
| 95 |
VirtualHost directives (requires APR 1.7.x or later). PR 59396 |
| 96 |
[Joe Orton] |
| 97 |
|
| 98 |
*) mod_ssl: Reject client-initiated renegotiation with a TLS alert |
| 99 |
(rather than connection closure). [Joe Orton, Yann Ylavic] |
| 100 |
|
| 101 |
*) Updated mime.types. [Mohamed Akram <mohd.akram outlook.com>, |
| 102 |
Adam Silverstein <adamsilverstein earthboundhosting.com>] |
| 103 |
|
| 104 |
*) mod_ssl: Fix a regression that causes the default DH parameters for a key |
| 105 |
no longer set and thus effectively disabling DH ciphers when no explicit |
| 106 |
DH parameters are set. PR 68863 [Ruediger Pluem] |
| 107 |
|
| 108 |
*) mod_cgid: Optional support for file descriptor passing, fixing |
| 109 |
error log handling (configure --enable-cgid-fdpassing) on Unix |
| 110 |
platforms. PR 54221. [Joe Orton] |
| 111 |
|
| 112 |
*) mod_cgid/mod_cgi: Distinguish script stderr output clearly in |
| 113 |
error logs. PR 61980. [Hank Ibell <hwibell gmail.com>] |
| 114 |
|
| 115 |
*) mod_tls: update version of rustls-ffi to v0.13.0. |
| 116 |
[Daniel McCarney (@cpu}] |
| 117 |
|
| 118 |
*) mod_md: |
| 119 |
- Using OCSP stapling information to trigger certificate renewals. Proposed |
| 120 |
by @frasertweedale. |
| 121 |
- Added directive `MDCheckInterval` to control how often the server checks |
| 122 |
for detected revocations. Added proposals for configurations in the |
| 123 |
README.md chapter "Revocations". |
| 124 |
- OCSP stapling: accept OCSP responses without a `nextUpdate` entry which is |
| 125 |
allowed in RFC 6960. Treat those as having an update interval of 12 hours. |
| 126 |
Added by @frasertweedale. |
| 127 |
- Adapt OpenSSL usage to changes in their API. By Yann Ylavic. |
| 128 |
|
| 129 |
Changes with Apache 2.4.59 |
| 130 |
|
| 131 |
*) SECURITY: CVE-2024-27316: Apache HTTP Server: HTTP/2 DoS by |
| 132 |
memory exhaustion on endless continuation frames (cve.mitre.org) |
| 133 |
HTTP/2 incoming headers exceeding the limit are temporarily |
| 134 |
buffered in nghttp2 in order to generate an informative HTTP 413 |
| 135 |
response. If a client does not stop sending headers, this leads |
| 136 |
to memory exhaustion. |
| 137 |
Credits: Bartek Nowotarski (https://nowotarski.info/) |
| 138 |
|
| 139 |
*) SECURITY: CVE-2024-24795: Apache HTTP Server: HTTP Response |
| 140 |
Splitting in multiple modules (cve.mitre.org) |
| 141 |
HTTP Response splitting in multiple modules in Apache HTTP |
| 142 |
Server allows an attacker that can inject malicious response |
| 143 |
headers into backend applications to cause an HTTP |
| 144 |
desynchronization attack. |
| 145 |
|
| 146 |
After this change, CGI-like scripts cannot set Transfer-Encoding |
| 147 |
or Content-Length headers. To restore the ability to set Content-Length |
| 148 |
header, set per-request environment variable 'ap_trust_cgilike_cl' to any |
| 149 |
non-empty value. |
| 150 |
|
| 151 |
Credits: Keran Mu, Tsinghua University and Zhongguancun |
| 152 |
Laboratory. |
| 153 |
|
| 154 |
*) SECURITY: CVE-2023-38709: Apache HTTP Server: HTTP response |
| 155 |
splitting (cve.mitre.org) |
| 156 |
Faulty input validation in the core of Apache allows malicious |
| 157 |
or exploitable backend/content generators to split HTTP |
| 158 |
responses. |
| 159 |
This issue affects Apache HTTP Server: through 2.4.58. |
| 160 |
Credits: Orange Tsai (@orange_8361) from DEVCORE |
| 161 |
|
| 162 |
*) mod_deflate: Fixes and better logging for handling various |
| 163 |
error and edge cases. [Eric Covener, Yann Ylavic, Joe Orton, |
| 164 |
Eric Norris <enorris etsy.com>] |
| 165 |
|
| 166 |
*) Add CGIScriptTimeout to mod_cgi. [Eric Covener] |
| 167 |
|
| 168 |
*) mod_xml2enc: Tolerate libxml2 2.12.0 and later. PR 68610 |
| 169 |
[ttachi <tachihara AT hotmail.com>] |
| 170 |
|
| 171 |
*) mod_slotmem_shm: Use ap_os_is_path_absolute() to make it portable. |
| 172 |
[Jean-Frederic Clere] |
| 173 |
|
| 174 |
*) mod_ssl: Use OpenSSL-standard functions to assemble CA |
| 175 |
name lists for SSLCACertificatePath/SSLCADNRequestPath. |
| 176 |
Names will now be consistently sorted. PR 61574. |
| 177 |
[Joe Orton] |
| 178 |
|
| 179 |
*) mod_xml2enc: Update check to accept any text/ media type |
| 180 |
or any XML media type per RFC 7303, avoiding |
| 181 |
corruption of Microsoft OOXML formats. PR 64339. |
| 182 |
[Joseph Heenan <joseph.heenan fintechlabs.io>, Joe Orton] |
| 183 |
|
| 184 |
*) mod_http2: v2.0.26 with the following fixes: |
| 185 |
- Fixed `Date` header on requests upgraded from HTTP/1.1 (h2c). Fixes |
| 186 |
<https://github.com/icing/mod_h2/issues/272>. |
| 187 |
- Fixed small memory leak in h2 header bucket free. Thanks to |
| 188 |
Michael Kaufmann for finding this and providing the fix. |
| 189 |
|
| 190 |
*) htcacheclean: In -a/-A mode, list all files per subdirectory |
| 191 |
rather than only one. PR 65091. |
| 192 |
[Artem Egorenkov <aegorenkov.91 gmail.com>] |
| 193 |
|
| 194 |
*) mod_ssl: SSLProxyMachineCertificateFile/Path may reference files |
| 195 |
which include CA certificates; those CA certs are treated as if |
| 196 |
configured with SSLProxyMachineCertificateChainFile. [Joe Orton] |
| 197 |
|
| 198 |
*) htpasswd, htdbm, dbmmanage: Update help&docs to refer to |
| 199 |
"hashing", rather than "encrypting" passwords. |
| 200 |
[Michele Preziuso <mpreziuso kaosdynamics.com>] |
| 201 |
|
| 202 |
*) mod_ssl: Fix build with LibreSSL 2.0.7+. PR 64047. |
| 203 |
[Giovanni Bechis, Yann Ylavic] |
| 204 |
|
| 205 |
*) htpasswd: Add support for passwords using SHA-2. [Joe Orton, |
| 206 |
Yann Ylavic] |
| 207 |
|
| 208 |
*) core: Allow mod_env to override system environment vars. [Joe Orton] |
| 209 |
|
| 210 |
*) Allow mod_dav_fs to tolerate race conditions between PROPFIND and an |
| 211 |
operation which removes a directory/file between apr_dir_read() and |
| 212 |
apr_stat(). Current behaviour is to abort the connection which seems |
| 213 |
inferior to tolerating (and logging) the error. [Joe Orton] |
| 214 |
|
| 215 |
*) mod_ldap: HTML-escape data in the ldap-status handler. |
| 216 |
[Eric Covener, Chamal De Silva] |
| 217 |
|
| 218 |
*) mod_ssl: Disable the OpenSSL ENGINE API when OPENSSL_NO_ENGINE is set. |
| 219 |
Allow for "SSLCryptoDevice builtin" if the ENGINE API is not available, |
| 220 |
notably with OpenSSL >= 3. PR 68080. [Yann Ylavic, Joe Orton] |
| 221 |
|
| 222 |
*) mod_ssl: Improve compatibility with OpenSSL 3, fix build warnings about |
| 223 |
deprecated ENGINE_ API, honor OPENSSL_API_COMPAT setting while defaulting |
| 224 |
to compatibitily with version 1.1.1 (including ENGINEs / SSLCryptoDevice). |
| 225 |
[Yann Ylavic] |
| 226 |
|
| 227 |
*) mod_ssl: release memory to the OS when needed. [Giovanni Bechis] |
| 228 |
|
| 229 |
*) mod_proxy: Ignore (and warn about) enablereuse=on for ProxyPassMatch when |
| 230 |
some dollar substitution (backreference) happens in the hostname or port |
| 231 |
part of the URL. [Yann Ylavic] |
| 232 |
|
| 233 |
*) mod_proxy: Allow to set a TTL for how long DNS resolutions to backend |
| 234 |
systems are cached. [Yann Ylavic] |
| 235 |
|
| 236 |
*) mod_proxy: Add optional third argument for ProxyRemote, which |
| 237 |
configures Basic authentication credentials to pass to the remote |
| 238 |
proxy. PR 37355. [Joe Orton] |
| 239 |
|
| 240 |
Changes with Apache 2.4.58 |
| 241 |
|
| 242 |
*) SECURITY: CVE-2023-45802: Apache HTTP Server: HTTP/2 stream |
| 243 |
memory not reclaimed right away on RST (cve.mitre.org) |
| 244 |
When a HTTP/2 stream was reset (RST frame) by a client, there |
| 245 |
was a time window were the request's memory resources were not |
| 246 |
reclaimed immediately. Instead, de-allocation was deferred to |
| 247 |
connection close. A client could send new requests and resets, |
| 248 |
keeping the connection busy and open and causing the memory |
| 249 |
footprint to keep on growing. On connection close, all resources |
| 250 |
were reclaimed, but the process might run out of memory before |
| 251 |
that. |
| 252 |
This was found by the reporter during testing of CVE-2023-44487 |
| 253 |
(HTTP/2 Rapid Reset Exploit) with their own test client. During |
| 254 |
"normal" HTTP/2 use, the probability to hit this bug is very |
| 255 |
low. The kept memory would not become noticeable before the |
| 256 |
connection closes or times out. |
| 257 |
Users are recommended to upgrade to version 2.4.58, which fixes |
| 258 |
the issue. |
| 259 |
Credits: Will Dormann of Vul Labs |
| 260 |
|
| 261 |
*) SECURITY: CVE-2023-43622: Apache HTTP Server: DoS in HTTP/2 with |
| 262 |
initial windows size 0 (cve.mitre.org) |
| 263 |
An attacker, opening a HTTP/2 connection with an initial window |
| 264 |
size of 0, was able to block handling of that connection |
| 265 |
indefinitely in Apache HTTP Server. This could be used to |
| 266 |
exhaust worker resources in the server, similar to the well |
| 267 |
known "slow loris" attack pattern. |
| 268 |
This has been fixed in version 2.4.58, so that such connection |
| 269 |
are terminated properly after the configured connection timeout. |
| 270 |
This issue affects Apache HTTP Server: from 2.4.55 through |
| 271 |
2.4.57. |
| 272 |
Users are recommended to upgrade to version 2.4.58, which fixes |
| 273 |
the issue. |
| 274 |
Credits: Prof. Sven Dietrich (City University of New York) |
| 275 |
|
| 276 |
*) SECURITY: CVE-2023-31122: mod_macro buffer over-read |
| 277 |
(cve.mitre.org) |
| 278 |
Out-of-bounds Read vulnerability in mod_macro of Apache HTTP |
| 279 |
Server.This issue affects Apache HTTP Server: through 2.4.57. |
| 280 |
Credits: David Shoon (github/davidshoon) |
| 281 |
|
| 282 |
*) mod_ssl: Silence info log message "SSL Library Error: error:0A000126: |
| 283 |
SSL routines::unexpected eof while reading" when using |
| 284 |
OpenSSL 3 by setting SSL_OP_IGNORE_UNEXPECTED_EOF if |
| 285 |
available. [Rainer Jung] |
| 286 |
|
| 287 |
*) mod_http2: improved early cleanup of streams. |
| 288 |
[Stefan Eissing] |
| 289 |
|
| 290 |
*) mod_proxy_http2: improved error handling on connection errors while |
| 291 |
response is already underway. |
| 292 |
[Stefan Eissing] |
| 293 |
|
| 294 |
*) mod_http2: fixed a bug that could lead to a crash in main connection |
| 295 |
output handling. This occured only when the last request on a HTTP/2 |
| 296 |
connection had been processed and the session decided to shut down. |
| 297 |
This could lead to an attempt to send a final GOAWAY while the previous |
| 298 |
write was still in progress. See PR 66646. |
| 299 |
[Stefan Eissing] |
| 300 |
|
| 301 |
*) mod_proxy_http2: fix `X-Forward-Host` header to carry the correct value. |
| 302 |
Fixes PR66752. |
| 303 |
[Stefan Eissing] |
| 304 |
|
| 305 |
*) mod_http2: added support for bootstrapping WebSockets via HTTP/2, as |
| 306 |
described in RFC 8441. A new directive 'H2WebSockets on|off' has been |
| 307 |
added. The feature is by default not enabled. |
| 308 |
As also discussed in the manual, this feature should work for setups |
| 309 |
using "ProxyPass backend-url upgrade=websocket" without further changes. |
| 310 |
Special server modules for WebSockets will have to be adapted, |
| 311 |
most likely, as the handling if IO events is different with HTTP/2. |
| 312 |
HTTP/2 WebSockets are supported on platforms with native pipes. This |
| 313 |
excludes Windows. |
| 314 |
[Stefan Eissing] |
| 315 |
|
| 316 |
*) mod_rewrite: Fix a regression with both a trailing ? and [QSA]. |
| 317 |
in OCSP stapling. PR 66672. [Frank Meier <frank.meier ergon.ch>, covener] |
| 318 |
|
| 319 |
*) mod_http2: fixed a bug in flushing pending data on an already closed |
| 320 |
connection that could lead to a busy loop, preventing the HTTP/2 session |
| 321 |
to close down successfully. Fixed PR 66624. |
| 322 |
[Stefan Eissing] |
| 323 |
|
| 324 |
*) mod_http2: v2.0.15 with the following fixes and improvements |
| 325 |
- New directive 'H2EarlyHint name value' to add headers to a response, |
| 326 |
picked up already when a "103 Early Hints" response is sent. 'name' and |
| 327 |
'value' must comply to the HTTP field restrictions. |
| 328 |
This directive can be repeated several times and header fields of the |
| 329 |
same names add. Sending a 'Link' header with 'preload' relation will |
| 330 |
also cause a HTTP/2 PUSH if enabled and supported by the client. |
| 331 |
- Fixed an issue where requests were not logged and accounted in a timely |
| 332 |
fashion when the connection returns to "keepalive" handling, e.g. when |
| 333 |
the request served was the last outstanding one. |
| 334 |
This led to late appearance in access logs with wrong duration times |
| 335 |
reported. |
| 336 |
- Accurately report the bytes sent for a request in the '%O' Log format. |
| 337 |
This addresses #203, a long outstanding issue where mod_h2 has reported |
| 338 |
numbers over-eagerly from internal buffering and not what has actually |
| 339 |
been placed on the connection. |
| 340 |
The numbers are now the same with and without H2CopyFiles enabled. |
| 341 |
[Stefan Eissing] |
| 342 |
|
| 343 |
*) mod_proxy_http2: fix retry handling to not leak temporary errors. |
| 344 |
On detecting that that an existing connection was shutdown by the other |
| 345 |
side, a 503 response leaked even though the request was retried on a |
| 346 |
fresh connection. |
| 347 |
[Stefan Eissing] |
| 348 |
|
| 349 |
*) mod_rewrite: Add server directory to include path as mod_rewrite requires |
| 350 |
test_char.h. PR 66571 [Valeria Petrov <valeria.petrov@spinetix.com>] |
| 351 |
|
| 352 |
*) mod_http2: new directive `H2ProxyRequests on|off` to enable handling |
| 353 |
of HTTP/2 requests in a forward proxy configuration. |
| 354 |
General forward proxying is enabled via `ProxyRequests`. If the |
| 355 |
HTTP/2 protocol is also enabled for such a server/host, this new |
| 356 |
directive is needed in addition. |
| 357 |
[Stefan Eissing] |
| 358 |
|
| 359 |
*) core: Updated conf/mime.types: |
| 360 |
- .js moved from 'application/javascript' to 'text/javascript' |
| 361 |
- .mjs was added as 'text/javascript' |
| 362 |
- add .opus ('audio/ogg') |
| 363 |
- add 'application/vnd.geogebra.slides' |
| 364 |
- add WebAssembly MIME types and extension |
| 365 |
[Mathias Bynens <@mathiasbynens> via PR 318, |
| 366 |
Richard de Boer <richard tubul.net>, Dave Hodder <dmh dmh.org.uk>, |
| 367 |
Zbynek Konecny <zbynek1729 gmail.com>] |
| 368 |
|
| 369 |
*) mod_proxy_http2: fixed using the wrong "bucket_alloc" from the backend |
| 370 |
connection when sending data on the frontend one. This caused crashes |
| 371 |
or infinite loops in rare situations. |
| 372 |
*) mod_proxy_http2: fixed a bug in retry/response handling that could lead |
| 373 |
to wrong status codes or HTTP messages send at the end of response bodies |
| 374 |
exceeding the announced content-length. |
| 375 |
*) mod_proxy_http2: fix retry handling to not leak temporary errors. |
| 376 |
On detecting that that an existing connection was shutdown by the other |
| 377 |
side, a 503 response leaked even though the request was retried on a |
| 378 |
fresh connection. |
| 379 |
*) mod_http2: fixed a bug that did cleanup of consumed and pending buckets in |
| 380 |
the wrong order when a bucket_beam was destroyed. |
| 381 |
[Stefan Eissing] |
| 382 |
|
| 383 |
*) mod_http2: avoid double chunked-encoding on internal redirects. |
| 384 |
PR 66597 [Yann Ylavic, Stefan Eissing] |
| 385 |
|
| 386 |
*) mod_http2: Fix reporting of `Total Accesses` in server-status to not count |
| 387 |
HTTP/2 requests twice. Fixes PR 66801. |
| 388 |
[Stefan Eissing] |
| 389 |
|
| 390 |
*) mod_ssl: Fix handling of Certificate Revoked messages |
| 391 |
in OCSP stapling. PR 66626. [<gmoniker gmail.com>] |
| 392 |
|
| 393 |
*) mod_http2: fixed a bug in handling of stream timeouts. |
| 394 |
[Stefan Eissing] |
| 395 |
|
| 396 |
*) mod_tls: updating to rustls-ffi version 0.9.2 or higher. |
| 397 |
Checking in configure for proper version installed. Code |
| 398 |
fixes for changed clienthello member name. |
| 399 |
[Stefan Eissing] |
| 400 |
|
| 401 |
*) mod_md: |
| 402 |
- New directive `MDMatchNames all|servernames` to allow more control over how |
| 403 |
MDomains are matched to VirtualHosts. |
| 404 |
- New directive `MDChallengeDns01Version`. Setting this to `2` will provide |
| 405 |
the command also with the challenge value on `teardown` invocation. In version |
| 406 |
1, the default, only the `setup` invocation gets this parameter. |
| 407 |
Refs #312. Thanks to @domrim for the idea. |
| 408 |
- For Managed Domain in "manual" mode, the checks if all used ServerName and |
| 409 |
ServerAlias are part of the MDomain now reports a warning instead of an error |
| 410 |
(AH10040) when not all names are present. |
| 411 |
- MDChallengeDns01 can now be configured for individual domains. |
| 412 |
Using PR from Jérôme Billiras (@bilhackmac) and adding test case and fixing proper working |
| 413 |
- Fixed a bug found by Jérôme Billiras (@bilhackmac) that caused the challenge |
| 414 |
teardown not being invoked as it should. |
| 415 |
|
| 416 |
*) mod_ldap: Avoid performance overhead of APR-util rebind cache for |
| 417 |
OpenLDAP 2.2+. PR 64414. [Joe Orton] |
| 418 |
|
| 419 |
*) mod_http2: new directive 'H2MaxDataFrameLen n' to limit the maximum |
| 420 |
amount of response body bytes put into a single HTTP/2 DATA frame. |
| 421 |
Setting this to 0 places no limit (but the max size allowed by the |
| 422 |
protocol is observed). |
| 423 |
The module, by default, tries to use the maximum size possible, which is |
| 424 |
somewhat around 16KB. This sets the maximum. When less response data is |
| 425 |
available, smaller frames will be sent. |
| 426 |
|
| 427 |
*) mod_md: fixed passing of the server environment variables to programs |
| 428 |
started via MDMessageCmd and MDChallengeDns01 on *nix system. |
| 429 |
See <https://github.com/icing/mod_md/issues/319>. |
| 430 |
[Stefan Eissing] |
| 431 |
|
| 432 |
*) mod_dav: Add DavBasePath directive to configure the repository root |
| 433 |
path. PR 35077. [Joe Orton] |
| 434 |
|
| 435 |
*) mod_alias: Add AliasPreservePath directive to map the full |
| 436 |
path after the alias in a location. [Graham Leggett] |
| 437 |
|
| 438 |
*) mod_alias: Add RedirectRelative to allow relative redirect targets to be |
| 439 |
issued as-is. [Eric Covener, Graham Leggett] |
| 440 |
|
| 441 |
*) core: Add formats %{z} and %{strftime-format} to ErrorLogFormat, and make |
| 442 |
sure that if the format is configured early enough it applies to every log |
| 443 |
line. PR 62161. [Yann Ylavic] |
| 444 |
|
| 445 |
*) mod_deflate: Add DeflateAlterETag to control how the ETag |
| 446 |
is modified. The 'NoChange' parameter mimics 2.2.x behavior. |
| 447 |
PR 45023, PR 39727. [Eric Covener] |
| 448 |
|
| 449 |
*) core: Optimize send_brigade_nonblocking(). [Yann Ylavic, Christophe Jaillet] |
| 450 |
|
| 451 |
*) mod_status: Remove duplicate keys "BusyWorkers" and "IdleWorkers". |
| 452 |
Resolve inconsistency between the previous two occurrences by |
| 453 |
counting workers in state SERVER_GRACEFUL no longer as busy, |
| 454 |
but instead in a new counter "GracefulWorkers" (or on HTML |
| 455 |
view as "workers gracefully restarting"). Also add the graceful |
| 456 |
counter as a new column to the existing HTML per process table |
| 457 |
for async MPMs. PR 63300. [Rainer Jung] |
| 458 |
|
| 459 |
Changes with Apache 2.4.57 |
| 460 |
|
| 461 |
*) mod_proxy: Check before forwarding that a nocanon path has not been |
| 462 |
rewritten with spaces during processing. [Yann Ylavic] |
| 463 |
|
| 464 |
*) mod_proxy: In case that AllowEncodedSlashes is set to NoDecode do not |
| 465 |
double encode encoded slashes in the URL sent by the reverse proxy to the |
| 466 |
backend. [Ruediger Pluem] |
| 467 |
|
| 468 |
*) mod_http2: fixed a crash during connection termination. See PR 66539. |
| 469 |
[Stefan Eissing] |
| 470 |
|
| 471 |
*) mod_rewrite: Fix a 2.4.56 regression for substitutions ending |
| 472 |
in a question mark. PR66547. [Eric Covener] |
| 473 |
|
| 474 |
*) mod_rewrite: Add "BCTLS" and "BNE" RewriteRule flags. Re-allow encoded |
| 475 |
characters on redirections without the "NE" flag. |
| 476 |
[Yann Ylavic, Eric Covener] |
| 477 |
|
| 478 |
*) mod_proxy: Fix double encoding of the uri-path of the request forwarded |
| 479 |
to the origin server, when using mapping=encoded|servlet. [Yann Ylavic] |
| 480 |
|
| 481 |
*) mod_mime: Do not match the extention against possible query string |
| 482 |
parameters in case ProxyPass was used with the nocanon option. |
| 483 |
[Ruediger Pluem] |
| 484 |
|
| 485 |
Changes with Apache 2.4.56 |
| 486 |
|
| 487 |
*) SECURITY: CVE-2023-27522: Apache HTTP Server: mod_proxy_uwsgi |
| 488 |
HTTP response splitting (cve.mitre.org) |
| 489 |
HTTP Response Smuggling vulnerability in Apache HTTP Server via |
| 490 |
mod_proxy_uwsgi. This issue affects Apache HTTP Server: from |
| 491 |
2.4.30 through 2.4.55. |
| 492 |
Special characters in the origin response header can |
| 493 |
truncate/split the response forwarded to the client. |
| 494 |
Credits: Dimas Fariski Setyawan Putra (nyxsorcerer) |
| 495 |
|
| 496 |
*) SECURITY: CVE-2023-25690: HTTP request splitting with |
| 497 |
mod_rewrite and mod_proxy (cve.mitre.org) |
| 498 |
Some mod_proxy configurations on Apache HTTP Server versions |
| 499 |
2.4.0 through 2.4.55 allow a HTTP Request Smuggling attack. |
| 500 |
Configurations are affected when mod_proxy is enabled along with |
| 501 |
some form of RewriteRule or ProxyPassMatch in which a non-specific |
| 502 |
pattern matches some portion of the user-supplied request-target (URL) |
| 503 |
data and is then re-inserted into the proxied request-target |
| 504 |
using variable substitution. For example, something like: |
| 505 |
RewriteEngine on |
| 506 |
RewriteRule "^/here/(.*)" "http://example.com:8080/elsewhere?$1"; [P] |
| 507 |
ProxyPassReverse /here/ http://example.com:8080/ |
| 508 |
Request splitting/smuggling could result in bypass of access |
| 509 |
controls in the proxy server, proxying unintended URLs to |
| 510 |
existing origin servers, and cache poisoning. |
| 511 |
Credits: Lars Krapf of Adobe |
| 512 |
|
| 513 |
*) rotatelogs: Add -T flag to allow subsequent rotated logfiles to be |
| 514 |
truncated without the initial logfile being truncated. [Eric Covener] |
| 515 |
|
| 516 |
*) mod_ldap: LDAPConnectionPoolTTL should accept negative values in order to |
| 517 |
allow connections of any age to be reused. Up to now, a negative value |
| 518 |
was handled as an error when parsing the configuration file. PR 66421. |
| 519 |
[nailyk <bzapache nailyk.fr>, Christophe Jaillet] |
| 520 |
|
| 521 |
*) mod_proxy_ajp: Report an error if the AJP backend sends an invalid number |
| 522 |
of headers. [Ruediger Pluem] |
| 523 |
|
| 524 |
*) mod_md: |
| 525 |
- Enabling ED25519 support and certificate transparency information when |
| 526 |
building with libressl v3.5.0 and newer. Thanks to Giovanni Bechis. |
| 527 |
- MDChallengeDns01 can now be configured for individual domains. |
| 528 |
Thanks to Jérôme Billiras (@bilhackmac) for the initial PR. |
| 529 |
- Fixed a bug found by Jérôme Billiras (@bilhackmac) that caused the challenge |
| 530 |
teardown not being invoked as it should. |
| 531 |
[Stefan Eissing] |
| 532 |
|
| 533 |
*) mod_http2: client resets of HTTP/2 streams led to unwanted 500 errors |
| 534 |
reported in access logs and error documents. The processing of the |
| 535 |
reset was correct, only unneccesary reporting was caused. |
| 536 |
[Stefan Eissing] |
| 537 |
|
| 538 |
*) mod_proxy_uwsgi: Stricter backend HTTP response parsing/validation. |
| 539 |
[Yann Ylavic] |
| 540 |
|
| 541 |
Changes with Apache 2.4.55 |
| 542 |
|
| 543 |
*) SECURITY: CVE-2022-37436: Apache HTTP Server: mod_proxy prior to |
| 544 |
2.4.55 allows a backend to trigger HTTP response splitting |
| 545 |
(cve.mitre.org) |
| 546 |
Prior to Apache HTTP Server 2.4.55, a malicious backend can |
| 547 |
cause the response headers to be truncated early, resulting in |
| 548 |
some headers being incorporated into the response body. If the |
| 549 |
later headers have any security purpose, they will not be |
| 550 |
interpreted by the client. |
| 551 |
Credits: Dimas Fariski Setyawan Putra (@nyxsorcerer) |
| 552 |
|
| 553 |
*) SECURITY: CVE-2022-36760: Apache HTTP Server: mod_proxy_ajp |
| 554 |
Possible request smuggling (cve.mitre.org) |
| 555 |
Inconsistent Interpretation of HTTP Requests ('HTTP Request |
| 556 |
Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server |
| 557 |
allows an attacker to smuggle requests to the AJP server it |
| 558 |
forwards requests to. This issue affects Apache HTTP Server |
| 559 |
Apache HTTP Server 2.4 version 2.4.54 and prior versions. |
| 560 |
Credits: ZeddYu_Lu from Qi'anxin Research Institute of Legendsec |
| 561 |
at Qi'anxin Group |
| 562 |
|
| 563 |
*) SECURITY: CVE-2006-20001: mod_dav out of bounds read, or write |
| 564 |
of zero byte (cve.mitre.org) |
| 565 |
A carefully crafted If: request header can cause a memory read, |
| 566 |
or write of a single zero byte, in a pool (heap) memory location |
| 567 |
beyond the header value sent. This could cause the process to |
| 568 |
crash. |
| 569 |
This issue affects Apache HTTP Server 2.4.54 and earlier. |
| 570 |
|
| 571 |
*) mod_dav: Open the lock database read-only when possible. |
| 572 |
PR 36636 [Wilson Felipe <wfelipe gmail.com>, manu] |
| 573 |
|
| 574 |
*) mod_proxy_http2: apply the standard httpd content type handling |
| 575 |
to responses from the backend, as other proxy modules do. Fixes PR 66391. |
| 576 |
Thanks to Jérôme Billiras for providing the patch. |
| 577 |
[Stefan Eissing] |
| 578 |
|
| 579 |
*) mod_dav: mod_dav overrides dav_fs response on PUT failure. PR 35981 |
| 580 |
[Basant Kumar Kukreja <basant.kukreja sun.com>, Alejandro Alvarez |
| 581 |
<alejandro.alvarez.ayllon cern.ch>] |
| 582 |
|
| 583 |
*) mod_proxy_hcheck: Honor worker timeout settings. [Yann Ylavic] |
| 584 |
|
| 585 |
*) mod_http2: version 2.0.11 of the module, synchronizing changes |
| 586 |
with the gitgub version. This is a partial rewrite of how connections |
| 587 |
and streams are handled. |
| 588 |
- an APR pollset and pipes (where supported) are used to monitor |
| 589 |
the main connection and react to IO for request/response handling. |
| 590 |
This replaces the stuttered timed waits of earlier versions. |
| 591 |
- H2SerializeHeaders directive still exists, but has no longer an effect. |
| 592 |
- Clients that seemingly misbehave still get less resources allocated, |
| 593 |
but ongoing requests are no longer disrupted. |
| 594 |
- Fixed an issue since 1.15.24 that "Server" headers in proxied requests |
| 595 |
were overwritten instead of preserved. [PR by @daum3ns] |
| 596 |
- A regression in v1.15.24 was fixed that could lead to httpd child |
| 597 |
processes not being terminated on a graceful reload or when reaching |
| 598 |
MaxConnectionsPerChild. When unprocessed h2 requests were queued at |
| 599 |
the time, these could stall. See #212. |
| 600 |
- Improved information displayed in 'server-status' for H2 connections when |
| 601 |
Extended Status is enabled. Now one can see the last request that IO |
| 602 |
operations happened on and transferred IO stats are updated as well. |
| 603 |
- When reaching server limits, such as MaxRequestsPerChild, the HTTP/2 connection |
| 604 |
send a GOAWAY frame much too early on new connections, leading to invalid |
| 605 |
protocol state and a client failing the request. See PR65731 at |
| 606 |
<https://bz.apache.org/bugzilla/show_bug.cgi?id=65731>. |
| 607 |
The module now initializes the HTTP/2 protocol correctly and allows the |
| 608 |
client to submit one request before the shutdown via a GOAWAY frame |
| 609 |
is being announced. |
| 610 |
- :scheme pseudo-header values, not matching the |
| 611 |
connection scheme, are forwarded via absolute uris to the |
| 612 |
http protocol processing to preserve semantics of the request. |
| 613 |
Checks on combinations of pseudo-headers values/absence |
| 614 |
have been added as described in RFC 7540. Fixes #230. |
| 615 |
- A bug that prevented trailers (e.g. HEADER frame at the end) to be |
| 616 |
generated in certain cases was fixed. See #233 where it prevented |
| 617 |
gRPC responses to be properly generated. |
| 618 |
- Request and response header values are automatically stripped of leading |
| 619 |
and trialing space/tab characters. This is equivalent behaviour to what |
| 620 |
Apache httpd's http/1.1 parser does. |
| 621 |
The checks for this in nghttp2 v1.50.0+ are disabled. |
| 622 |
- Extensive testing in production done by Alessandro Bianchi (@alexskynet) |
| 623 |
on the v2.0.x versions for stability. Many thanks! |
| 624 |
|
| 625 |
*) mod_proxy_http2: fixed #235 by no longer forwarding 'Host:' header when |
| 626 |
request ':authority' is known. Improved test case that did not catch that |
| 627 |
the previous 'fix' was incorrect. |
| 628 |
|
| 629 |
*) mod_proxy_hcheck: hcmethod now allows for HTTP/1.1 requests |
| 630 |
using GET11, HEAD11 and/or OPTIONS11. [Jim Jagielski] |
| 631 |
|
| 632 |
*) mod_proxy: The AH03408 warning for a forcibly closed backend |
| 633 |
connection is now logged at INFO level. [Yann Ylavic] |
| 634 |
|
| 635 |
*) mod_ssl: When dumping the configuration, the existence of |
| 636 |
certificate/key files is no longer tested. [Joe Orton] |
| 637 |
|
| 638 |
*) mod_authn_core: Add expression support to AuthName and AuthType. |
| 639 |
[Graham Leggett] |
| 640 |
|
| 641 |
*) mod_ssl: when a proxy connection had handled a request using SSL, an |
| 642 |
error was logged when "SSLProxyEngine" was only configured in the |
| 643 |
location/proxy section and not the overall server. The connection |
| 644 |
continued to work, the error log was in error. Fixed PR66190. |
| 645 |
[Stefan Eissing] |
| 646 |
|
| 647 |
*) mod_proxy_hcheck: Re-enable workers in standard ERROR state. PR 66302. |
| 648 |
[Alessandro Cavaliere <alessandro.cavalier7 unibo.it>] |
| 649 |
|
| 650 |
*) mod_proxy_hcheck: Detect AJP/CPING support correctly. PR 66300. |
| 651 |
[Alessandro Cavaliere <alessandro.cavalier7 unibo.it>] |
| 652 |
|
| 653 |
*) mod_http2: Export mod_http2.h as public header. [Stefan Eissing] |
| 654 |
|
| 655 |
*) mod_md: a new directive `MDStoreLocks` can be used on cluster |
| 656 |
setups with a shared file system for `MDStoreDir` to order |
| 657 |
activation of renewed certificates when several cluster nodes are |
| 658 |
restarted at the same time. Store locks are not enabled by default. |
| 659 |
Restored curl_easy cleanup behaviour from v2.4.14 and refactored |
| 660 |
the use of curl_multi for OCSP requests to work with that. |
| 661 |
Fixes <https://github.com/icing/mod_md/issues/293>. |
| 662 |
|
| 663 |
*) core: Avoid an overflow on large inputs in ap_is_matchexp. PR 66033 |
| 664 |
[Ruediger Pluem] |
| 665 |
|
| 666 |
*) mod_heartmonitor: Allow "HeartbeatMaxServers 0" to use file based |
| 667 |
storage instead of slotmem. Needed after setting |
| 668 |
HeartbeatMaxServers default to the documented value 10 in 2.4.54. |
| 669 |
PR 66131. [Jérôme Billiras] |
| 670 |
|
| 671 |
*) mod_dav: DAVlockDiscovery option to disable WebDAV lock discovery |
| 672 |
This is a game changer for performances if client use PROPFIND a lot, |
| 673 |
PR 66313. [Emmanuel Dreyfus] |
| 674 |
|
| 675 |
Changes with Apache 2.4.54 |
| 676 |
|
| 677 |
*) SECURITY: CVE-2022-31813: mod_proxy X-Forwarded-For dropped by |
| 678 |
hop-by-hop mechanism (cve.mitre.org) |
| 679 |
Apache HTTP Server 2.4.53 and earlier may not send the |
| 680 |
X-Forwarded-* headers to the origin server based on client side |
| 681 |
Connection header hop-by-hop mechanism. |
| 682 |
This may be used to bypass IP based authentication on the origin |
| 683 |
server/application. |
| 684 |
Credits: The Apache HTTP Server project would like to thank |
| 685 |
Gaetan Ferry (Synacktiv) for reporting this issue |
| 686 |
|
| 687 |
*) SECURITY: CVE-2022-30556: Information Disclosure in mod_lua with |
| 688 |
websockets (cve.mitre.org) |
| 689 |
Apache HTTP Server 2.4.53 and earlier may return lengths to |
| 690 |
applications calling r:wsread() that point past the end of the |
| 691 |
storage allocated for the buffer. |
| 692 |
Credits: The Apache HTTP Server project would like to thank |
| 693 |
Ronald Crane (Zippenhop LLC) for reporting this issue |
| 694 |
|
| 695 |
*) SECURITY: CVE-2022-30522: mod_sed denial of service |
| 696 |
(cve.mitre.org) |
| 697 |
If Apache HTTP Server 2.4.53 is configured to do transformations |
| 698 |
with mod_sed in contexts where the input to mod_sed may be very |
| 699 |
large, mod_sed may make excessively large memory allocations and |
| 700 |
trigger an abort. |
| 701 |
Credits: This issue was found by Brian Moussalli from the JFrog |
| 702 |
Security Research team |
| 703 |
|
| 704 |
*) SECURITY: CVE-2022-29404: Denial of service in mod_lua |
| 705 |
r:parsebody (cve.mitre.org) |
| 706 |
In Apache HTTP Server 2.4.53 and earlier, a malicious request to |
| 707 |
a lua script that calls r:parsebody(0) may cause a denial of |
| 708 |
service due to no default limit on possible input size. |
| 709 |
Credits: The Apache HTTP Server project would like to thank |
| 710 |
Ronald Crane (Zippenhop LLC) for reporting this issue |
| 711 |
|
| 712 |
*) SECURITY: CVE-2022-28615: Read beyond bounds in |
| 713 |
ap_strcmp_match() (cve.mitre.org) |
| 714 |
Apache HTTP Server 2.4.53 and earlier may crash or disclose |
| 715 |
information due to a read beyond bounds in ap_strcmp_match() |
| 716 |
when provided with an extremely large input buffer. While no |
| 717 |
code distributed with the server can be coerced into such a |
| 718 |
call, third-party modules or lua scripts that use |
| 719 |
ap_strcmp_match() may hypothetically be affected. |
| 720 |
Credits: The Apache HTTP Server project would like to thank |
| 721 |
Ronald Crane (Zippenhop LLC) for reporting this issue |
| 722 |
|
| 723 |
*) SECURITY: CVE-2022-28614: read beyond bounds via ap_rwrite() |
| 724 |
(cve.mitre.org) |
| 725 |
The ap_rwrite() function in Apache HTTP Server 2.4.53 and |
| 726 |
earlier may read unintended memory if an attacker can cause the |
| 727 |
server to reflect very large input using ap_rwrite() or |
| 728 |
ap_rputs(), such as with mod_luas r:puts() function. |
| 729 |
Credits: The Apache HTTP Server project would like to thank |
| 730 |
Ronald Crane (Zippenhop LLC) for reporting this issue |
| 731 |
|
| 732 |
*) SECURITY: CVE-2022-28330: read beyond bounds in mod_isapi |
| 733 |
(cve.mitre.org) |
| 734 |
Apache HTTP Server 2.4.53 and earlier on Windows may read beyond |
| 735 |
bounds when configured to process requests with the mod_isapi |
| 736 |
module. |
| 737 |
Credits: The Apache HTTP Server project would like to thank |
| 738 |
Ronald Crane (Zippenhop LLC) for reporting this issue |
| 739 |
|
| 740 |
*) SECURITY: CVE-2022-26377: mod_proxy_ajp: Possible request |
| 741 |
smuggling (cve.mitre.org) |
| 742 |
Inconsistent Interpretation of HTTP Requests ('HTTP Request |
| 743 |
Smuggling') vulnerability in mod_proxy_ajp of Apache HTTP Server |
| 744 |
allows an attacker to smuggle requests to the AJP server it |
| 745 |
forwards requests to. This issue affects Apache HTTP Server |
| 746 |
Apache HTTP Server 2.4 version 2.4.53 and prior versions. |
| 747 |
Credits: Ricter Z @ 360 Noah Lab |
| 748 |
|
| 749 |
*) mod_ssl: SSLFIPS compatible with OpenSSL 3.0. PR 66063. |
| 750 |
[Petr Sumbera <petr.sumbera oracle.com>, Yann Ylavic] |
| 751 |
|
| 752 |
*) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue. |
| 753 |
PR 65666. [Yann Ylavic] |
| 754 |
|
| 755 |
*) mod_md: a bug was fixed that caused very large MDomains |
| 756 |
with the combined DNS names exceeding ~7k to fail, as |
| 757 |
request bodies would contain partially wrong data from |
| 758 |
uninitialized memory. This would have appeared as failure |
| 759 |
in signing-up/renewing such configurations. |
| 760 |
[Stefan Eissing, Ronald Crane (Zippenhop LLC)] |
| 761 |
|
| 762 |
*) mod_proxy_http: Avoid 417 responses for non forwardable 100-continue. |
| 763 |
PR 65666. [Yann Ylavic] |
| 764 |
|
| 765 |
*) MPM event: Restart children processes killed before idle maintenance. |
| 766 |
PR 65769. [Yann Ylavic, Ruediger Pluem] |
| 767 |
|
| 768 |
*) ab: Allow for TLSv1.3 when the SSL library supports it. |
| 769 |
[abhilash1232 gmail.com, xiaolongx.jiang intel.com, Yann Ylavic] |
| 770 |
|
| 771 |
*) core: Disable TCP_NOPUSH optimization on OSX since it might introduce |
| 772 |
transmission delays. PR 66019. [Yann Ylavic] |
| 773 |
|
| 774 |
*) MPM event: Fix accounting of active/total processes on ungraceful restart, |
| 775 |
PR 66004 (follow up to PR 65626 from 2.4.52). [Yann Ylavic] |
| 776 |
|
| 777 |
*) core: make ap_escape_quotes() work correctly on strings |
| 778 |
with more than MAX_INT/2 characters, counting quotes double. |
| 779 |
Credit to <generalbugs@zippenhop.com> for finding this. |
| 780 |
[Stefan Eissing] |
| 781 |
|
| 782 |
*) mod_md: the `MDCertificateAuthority` directive can take more than one URL/name of |
| 783 |
an ACME CA. This gives a failover for renewals when several consecutive attempts |
| 784 |
to get a certificate failed. |
| 785 |
A new directive was added: `MDRetryDelay` sets the delay of retries. |
| 786 |
A new directive was added: `MDRetryFailover` sets the number of errored |
| 787 |
attempts before an alternate CA is selected for certificate renewals. |
| 788 |
[Stefan Eissing] |
| 789 |
|
| 790 |
*) mod_http2: remove unused and insecure code. Fixes PR66037. |
| 791 |
Thanks to Ronald Crane (Zippenhop LLC) for reporting this. |
| 792 |
[Stefan Eissing] |
| 793 |
|
| 794 |
*) mod_proxy: Add backend port to log messages to |
| 795 |
ease identification of involved service. [Rainer Jung] |
| 796 |
|
| 797 |
*) mod_http2: removing unscheduling of ongoing tasks when |
| 798 |
connection shows potential abuse by a client. This proved |
| 799 |
counter-productive and the abuse detection can false flag |
| 800 |
requests using server-side-events. |
| 801 |
Fixes <https://github.com/icing/mod_h2/issues/231>. |
| 802 |
[Stefan Eissing] |
| 803 |
|
| 804 |
*) mod_md: Implement full auto status ("key: value" type status output). |
| 805 |
Especially not only status summary counts for certificates and |
| 806 |
OCSP stapling but also lists. Auto status format is similar to |
| 807 |
what was used for mod_proxy_balancer. |
| 808 |
[Rainer Jung] |
| 809 |
|
| 810 |
*) mod_md: fixed a bug leading to failed transfers for OCSP |
| 811 |
stapling information when more than 6 certificates needed |
| 812 |
updates in the same run. [Stefan Eissing] |
| 813 |
|
| 814 |
*) mod_proxy: Set a status code of 502 in case the backend just closed the |
| 815 |
connection in reply to our forwarded request. [Ruediger Pluem] |
| 816 |
|
| 817 |
*) mod_md: a possible NULL pointer deref was fixed in |
| 818 |
the JSON code for persisting time periods (start+end). |
| 819 |
Fixes #282 on mod_md's github. |
| 820 |
Thanks to @marcstern for finding this. [Stefan Eissing] |
| 821 |
|
| 822 |
*) mod_heartmonitor: Set the documented default value |
| 823 |
"10" for HeartbeatMaxServers instead of "0". With "0" |
| 824 |
no shared memory slotmem was initialized. [Rainer Jung] |
| 825 |
|
| 826 |
*) mod_md: added support for managing certificates via a |
| 827 |
local tailscale daemon for users of that secure networking. |
| 828 |
This gives trusted certificates for tailscale assigned |
| 829 |
domain names in the *.ts.net space. |
| 830 |
[Stefan Eissing] |
| 831 |
|
| 832 |
*) core: Change default value of LimitRequestBody from 0 (unlimited) |
| 833 |
to 1GB. [Eric Covener] |
| 834 |
|
| 835 |
Changes with Apache 2.4.53 |
| 836 |
|
| 837 |
*) SECURITY: CVE-2022-23943: mod_sed: Read/write beyond bounds |
| 838 |
(cve.mitre.org) |
| 839 |
Out-of-bounds Write vulnerability in mod_sed of Apache HTTP |
| 840 |
Server allows an attacker to overwrite heap memory with possibly |
| 841 |
attacker provided data. |
| 842 |
This issue affects Apache HTTP Server 2.4 version 2.4.52 and |
| 843 |
prior versions. |
| 844 |
Credits: Ronald Crane (Zippenhop LLC) |
| 845 |
|
| 846 |
*) SECURITY: CVE-2022-22721: core: Possible buffer overflow with |
| 847 |
very large or unlimited LimitXMLRequestBody (cve.mitre.org) |
| 848 |
If LimitXMLRequestBody is set to allow request bodies larger |
| 849 |
than 350MB (defaults to 1M) on 32 bit systems an integer |
| 850 |
overflow happens which later causes out of bounds writes. |
| 851 |
This issue affects Apache HTTP Server 2.4.52 and earlier. |
| 852 |
Credits: Anonymous working with Trend Micro Zero Day Initiative |
| 853 |
|
| 854 |
*) SECURITY: CVE-2022-22720: HTTP request smuggling vulnerability |
| 855 |
in Apache HTTP Server 2.4.52 and earlier (cve.mitre.org) |
| 856 |
Apache HTTP Server 2.4.52 and earlier fails to close inbound |
| 857 |
connection when errors are encountered discarding the request |
| 858 |
body, exposing the server to HTTP Request Smuggling |
| 859 |
Credits: James Kettle <james.kettle portswigger.net> |
| 860 |
|
| 861 |
*) SECURITY: CVE-2022-22719: mod_lua Use of uninitialized value of |
| 862 |
in r:parsebody (cve.mitre.org) |
| 863 |
A carefully crafted request body can cause a read to a random |
| 864 |
memory area which could cause the process to crash. |
| 865 |
This issue affects Apache HTTP Server 2.4.52 and earlier. |
| 866 |
Credits: Chamal De Silva |
| 867 |
|
| 868 |
*) core: Make sure and check that LimitXMLRequestBody fits in system memory. |
| 869 |
[Ruediger Pluem, Yann Ylavic] |
| 870 |
|
| 871 |
*) core: Simpler connection close logic if discarding the request body fails. |
| 872 |
[Yann Ylavic, Ruediger Pluem] |
| 873 |
|
| 874 |
*) mod_http2: preserve the port number given in a HTTP/1.1 |
| 875 |
request that was Upgraded to HTTP/2. Fixes PR65881. |
| 876 |
[Stefan Eissing] |
| 877 |
|
| 878 |
*) mod_proxy: Allow for larger worker name. PR 53218. [Yann Ylavic] |
| 879 |
|
| 880 |
*) dbm: Split the loading of a dbm driver from the opening of a dbm file. When |
| 881 |
an attempt to load a dbm driver fails, log clearly which driver triggered |
| 882 |
the error (not "default"), and what the error was. [Graham Leggett] |
| 883 |
|
| 884 |
*) mod_proxy: Use the maxium of front end and backend timeouts instead of the |
| 885 |
minimum when tunneling requests (websockets, CONNECT requests). |
| 886 |
Backend timeouts can be configured more selectively (per worker if needed) |
| 887 |
as front end timeouts and typically the backend timeouts reflect the |
| 888 |
application requirements better. PR 65886 [Ruediger Pluem] |
| 889 |
|
| 890 |
*) ap_regex: Use Thread Local Storage (TLS) to recycle ap_regexec() buffers |
| 891 |
when an efficient TLS implementation is available. [Yann Ylavic] |
| 892 |
|
| 893 |
*) core, mod_info: Add compiled and loaded PCRE versions to version |
| 894 |
number display. [Rainer Jung] |
| 895 |
|
| 896 |
*) mod_md: do not interfere with requests to /.well-known/acme-challenge/ |
| 897 |
resources if challenge type 'http-01' is not configured for a domain. |
| 898 |
Fixes <https://github.com/icing/mod_md/issues/279>. |
| 899 |
[Stefan Eissing] |
| 900 |
|
| 901 |
*) mod_dav: Fix regression when gathering properties which could lead to huge |
| 902 |
memory consumption proportional to the number of resources. |
| 903 |
[Evgeny Kotkov, Ruediger Pluem] |
| 904 |
|
| 905 |
*) Support pcre2 (10.x) library in place of the now end-of-life pcre (8.x) |
| 906 |
for regular expression evaluation. This depends on locating pcre2-config. |
| 907 |
[William Rowe, Petr Pisar <ppisar redhat.com>, Rainer Jung] |
| 908 |
|
| 909 |
*) Add the ldap function to the expression API, allowing LDAP filters and |
| 910 |
distinguished names based on expressions to be escaped correctly to |
| 911 |
guard against LDAP injection. [Graham Leggett] |
| 912 |
|
| 913 |
*) mod_md: the status description in MDomain's JSON, exposed in the |
| 914 |
md-status handler (if configured) did sometimes not carry the correct |
| 915 |
message when certificates needed renew. |
| 916 |
[Stefan Eissing] |
| 917 |
|
| 918 |
*) mpm_event: Fix a possible listener deadlock on heavy load when restarting |
| 919 |
and/or reaching MaxConnectionsPerChild. PR 65769. [Yann Ylavic] |
| 920 |
|
| 921 |
Changes with Apache 2.4.52 |
| 922 |
|
| 923 |
*) SECURITY: CVE-2021-44790: Possible buffer overflow when parsing |
| 924 |
multipart content in mod_lua of Apache HTTP Server 2.4.51 and |
| 925 |
earlier (cve.mitre.org) |
| 926 |
A carefully crafted request body can cause a buffer overflow in |
| 927 |
the mod_lua multipart parser (r:parsebody() called from Lua |
| 928 |
scripts). |
| 929 |
The Apache httpd team is not aware of an exploit for the |
| 930 |
vulnerability though it might be possible to craft one. |
| 931 |
This issue affects Apache HTTP Server 2.4.51 and earlier. |
| 932 |
Credits: Chamal |
| 933 |
|
| 934 |
*) SECURITY: CVE-2021-44224: Possible NULL dereference or SSRF in |
| 935 |
forward proxy configurations in Apache HTTP Server 2.4.51 and |
| 936 |
earlier (cve.mitre.org) |
| 937 |
A crafted URI sent to httpd configured as a forward proxy |
| 938 |
(ProxyRequests on) can cause a crash (NULL pointer dereference) |
| 939 |
or, for configurations mixing forward and reverse proxy |
| 940 |
declarations, can allow for requests to be directed to a |
| 941 |
declared Unix Domain Socket endpoint (Server Side Request |
| 942 |
Forgery). |
| 943 |
This issue affects Apache HTTP Server 2.4.7 up to 2.4.51 |
| 944 |
(included). |
| 945 |
Credits: æ¼‚äº®é¼ |
| 946 |
TengMA(@Te3t123) |
| 947 |
|
| 948 |
*) http: Enforce that fully qualified uri-paths not to be forward-proxied |
| 949 |
have an http(s) scheme, and that the ones to be forward proxied have a |
| 950 |
hostname, per HTTP specifications. [Ruediger Pluem, Yann Ylavic] |
| 951 |
|
| 952 |
*) configure: OpenSSL detection will now use pkg-config data from |
| 953 |
.../lib64/ within the --with-ssl path. [Jean-Frederic Clere] |
| 954 |
|
| 955 |
*) mod_proxy_connect, mod_proxy: Do not change the status code after we |
| 956 |
already sent it to the client. [Ruediger Pluem] |
| 957 |
|
| 958 |
*) mod_http: Correctly sent a 100 Continue status code when sending an interim |
| 959 |
response as result of an Expect: 100-Continue in the request and not the |
| 960 |
current status code of the request. PR 65725 [Ruediger Pluem] |
| 961 |
|
| 962 |
*) mod_dav: Some DAV extensions, like CalDAV, specify both document |
| 963 |
elements and property elements that need to be taken into account |
| 964 |
when generating a property. The document element and property element |
| 965 |
are made available in the dav_liveprop_elem structure by calling |
| 966 |
dav_get_liveprop_element(). [Graham Leggett] |
| 967 |
|
| 968 |
*) mod_dav: Add utility functions dav_validate_root_ns(), |
| 969 |
dav_find_child_ns(), dav_find_next_ns(), dav_find_attr_ns() and |
| 970 |
dav_find_attr() so that other modules get to play too. |
| 971 |
[Graham Leggett] |
| 972 |
|
| 973 |
*) mpm_event: Restart stopping of idle children after a load peak. PR 65626. |
| 974 |
[Yann Ylavic, Ruediger Pluem] |
| 975 |
|
| 976 |
*) mod_http2: fixes 2 regressions in server limit handling. |
| 977 |
1. When reaching server limits, such as MaxRequestsPerChild, the |
| 978 |
HTTP/2 connection send a GOAWAY frame much too early on new |
| 979 |
connections, leading to invalid protocol state and a client |
| 980 |
failing the request. See PR65731. |
| 981 |
The module now initializes the HTTP/2 protocol correctly and |
| 982 |
allows the client to submit one request before the shutdown |
| 983 |
via a GOAWAY frame is being announced. |
| 984 |
2. A regression in v1.15.24 was fixed that could lead to httpd |
| 985 |
child processes not being terminated on a graceful reload or |
| 986 |
when reaching MaxConnectionsPerChild. When unprocessed h2 |
| 987 |
requests were queued at the time, these could stall. |
| 988 |
See <https://github.com/icing/mod_h2/issues/212>. |
| 989 |
[Stefan Eissing] |
| 990 |
|
| 991 |
*) mod_ssl: Add build support for OpenSSL v3. [Rainer Jung, |
| 992 |
Stefan Fritsch, Yann Ylavic, Stefan Eissing, Joe Orton, |
| 993 |
Giovanni Bechis] |
| 994 |
|
| 995 |
*) mod_proxy_connect: Honor the smallest of the backend or client timeout |
| 996 |
while tunneling. [Yann Ylavic] |
| 997 |
|
| 998 |
*) mod_proxy: SetEnv proxy-nohalfclose (or alike) allows to disable TCP |
| 999 |
half-close forwarding when tunneling protocols. [Yann Ylavic] |
| 1000 |
|
| 1001 |
*) core: Be safe with ap_lingering_close() called with a socket NULL-ed by |
| 1002 |
a third-party module. PR 65627. |
| 1003 |
[acmondor <bz.apache.org acmondor.ca>, Yann Ylavic] |
| 1004 |
|
| 1005 |
*) mod_md: Fix memory leak in case of failures to load the private key. |
| 1006 |
PR 65620 [ Filipe Casal <filipe.casal@trailofbits.com> ] |
| 1007 |
|
| 1008 |
*) mod_md: adding v2.4.8 with the following changes |
| 1009 |
- Added support for ACME External Account Binding (EAB). |
| 1010 |
Use the new directive `MDExternalAccountBinding` to provide the |
| 1011 |
server with the value for key identifier and hmac as provided by |
| 1012 |
your CA. |
| 1013 |
While working on some servers, EAB handling is not uniform |
| 1014 |
across CAs. First tests with a Sectigo Certificate Manager in |
| 1015 |
demo mode are successful. But ZeroSSL, for example, seems to |
| 1016 |
regard EAB values as a one-time-use-only thing, which makes them |
| 1017 |
fail if you create a seconde account or retry the creation of the |
| 1018 |
first account with the same EAB. |
| 1019 |
- The directive 'MDCertificateAuthority' now checks if its parameter |
| 1020 |
is a http/https url or one of a set of known names. Those are |
| 1021 |
'LetsEncrypt', 'LetsEncrypt-Test', 'Buypass' and 'Buypass-Test' |
| 1022 |
for now and they are not case-sensitive. |
| 1023 |
The default of LetsEncrypt is unchanged. |
| 1024 |
- `MDContactEmail` can now be specified inside a `<MDomain dnsname>` |
| 1025 |
section. |
| 1026 |
- Treating 401 HTTP status codes for orders like 403, since some ACME |
| 1027 |
servers seem to prefer that for accessing oders from other accounts. |
| 1028 |
- When retrieving certificate chains, try to read the response even |
| 1029 |
if the HTTP Content-Type is unrecognized. |
| 1030 |
- Fixed a bug that reset the error counter of a certificate renewal |
| 1031 |
and prevented the increasing delays in further attempts. |
| 1032 |
- Fixed the renewal process giving up every time on an already existing |
| 1033 |
order with some invalid domains. Now, if such are seen in a previous |
| 1034 |
order, a new order is created for a clean start over again. |
| 1035 |
See <https://github.com/icing/mod_md/issues/268> |
| 1036 |
- Fixed a mixup in md-status handler when static certificate files |
| 1037 |
and renewal was configured at the same time. |
| 1038 |
|
| 1039 |
*) mod_md: values for External Account Binding (EAB) can |
| 1040 |
now also be configured to be read from a separate JSON |
| 1041 |
file. This allows to keep server configuration permissions |
| 1042 |
world readable without exposing secrets. |
| 1043 |
[Stefan Eissing] |
| 1044 |
|
| 1045 |
*) mod_proxy_uwsgi: Remove duplicate slashes at the beginning of PATH_INFO. |
| 1046 |
PR 65616. [Ruediger Pluem] |
| 1047 |
|
| 1048 |
Changes with Apache 2.4.51 |
| 1049 |
|
| 1050 |
*) SECURITY: CVE-2021-42013: Path Traversal and Remote Code |
| 1051 |
Execution in Apache HTTP Server 2.4.49 and 2.4.50 (incomplete |
| 1052 |
fix of CVE-2021-41773) (cve.mitre.org) |
| 1053 |
It was found that the fix for CVE-2021-41773 in Apache HTTP |
| 1054 |
Server 2.4.50 was insufficient. An attacker could use a path |
| 1055 |
traversal attack to map URLs to files outside the directories |
| 1056 |
configured by Alias-like directives. |
| 1057 |
If files outside of these directories are not protected by the |
| 1058 |
usual default configuration "require all denied", these requests |
| 1059 |
can succeed. If CGI scripts are also enabled for these aliased |
| 1060 |
paths, this could allow for remote code execution. |
| 1061 |
This issue only affects Apache 2.4.49 and Apache 2.4.50 and not |
| 1062 |
earlier versions. |
| 1063 |
Credits: Reported by Juan Escobar from Dreamlab Technologies, |
| 1064 |
Fernando Muñoz from NULL Life CTF Team, and Shungo Kumasaka |
| 1065 |
|
| 1066 |
*) core: Add ap_unescape_url_ex() for better decoding control, and deprecate |
| 1067 |
unused AP_NORMALIZE_DROP_PARAMETERS flag. |
| 1068 |
[Yann Ylavic, Ruediger Pluem, Stefan Eissing, Joe Orton] |
| 1069 |
|
| 1070 |
Changes with Apache 2.4.50 |
| 1071 |
|
| 1072 |
*) SECURITY: CVE-2021-41773: Path traversal and file disclosure |
| 1073 |
vulnerability in Apache HTTP Server 2.4.49 (cve.mitre.org) |
| 1074 |
A flaw was found in a change made to path normalization in |
| 1075 |
Apache HTTP Server 2.4.49. An attacker could use a path |
| 1076 |
traversal attack to map URLs to files outside the expected |
| 1077 |
document root. |
| 1078 |
If files outside of the document root are not protected by |
| 1079 |
"require all denied" these requests can succeed. Additionally |
| 1080 |
this flaw could leak the source of interpreted files like CGI |
| 1081 |
scripts. |
| 1082 |
This issue is known to be exploited in the wild. |
| 1083 |
This issue only affects Apache 2.4.49 and not earlier versions. |
| 1084 |
Credits: This issue was reported by Ash Daulton along with the |
| 1085 |
cPanel Security Team |
| 1086 |
|
| 1087 |
*) SECURITY: CVE-2021-41524: null pointer dereference in h2 fuzzing |
| 1088 |
(cve.mitre.org) |
| 1089 |
While fuzzing the 2.4.49 httpd, a new null pointer dereference |
| 1090 |
was detected during HTTP/2 request processing, |
| 1091 |
allowing an external source to DoS the server. This requires a |
| 1092 |
specially crafted request. |
| 1093 |
The vulnerability was recently introduced in version 2.4.49. No |
| 1094 |
exploit is known to the project. |
| 1095 |
Credits: Apache httpd team would like to thank LI ZHI XIN from |
| 1096 |
NSFocus Security Team for reporting this issue. |
| 1097 |
|
| 1098 |
*) core: AP_NORMALIZE_DECODE_UNRESERVED should normalize the second dot in |
| 1099 |
the uri-path when it's preceded by a dot. [Yann Ylavic] |
| 1100 |
|
| 1101 |
*) mod_md: when MDMessageCmd for a 'challenge-setup:<type>:<dnsname>' |
| 1102 |
fails (!= 0 exit), the renewal process is aborted and an error is |
| 1103 |
reported for the MDomain. This provides scripts that distribute |
| 1104 |
information in a cluster to abort early with bothering an ACME |
| 1105 |
server to validate a dns name that will not work. The common |
| 1106 |
retry logic will make another attempt in the future, as with |
| 1107 |
other failures. |
| 1108 |
Fixed a bug when adding private key specs to an already working |
| 1109 |
MDomain, see <https://github.com/icing/mod_md/issues/260>. |
| 1110 |
[Stefan Eissing] |
| 1111 |
|
| 1112 |
*) mod_proxy: Handle UDS URIs with empty hostname ("unix:///...") as if they |
| 1113 |
had no hostname ("unix:/..."). [Yann Ylavic] |
| 1114 |
|
| 1115 |
*) mod_md: fixed a bug in handling multiple parallel OCSP requests. These could |
| 1116 |
run into an assertion which terminated (and restarted) the child process where |
| 1117 |
the task was running. Eventually, all OCSP responses were collected, but not |
| 1118 |
in the way that things are supposed to work. |
| 1119 |
See also <https://bz.apache.org/bugzilla/show_bug.cgi?id=65567>. |
| 1120 |
The bug was possibly triggered when more than one OCSP status needed updating |
| 1121 |
at the same time. For example for several renewed certificates after a server |
| 1122 |
reload. |
| 1123 |
|
| 1124 |
*) mod_rewrite: Fix UDS ("unix:") scheme for [P] rules. PR 57691 + 65590. |
| 1125 |
[Janne Peltonen <janne.peltonen sange.fi>] |
| 1126 |
|
| 1127 |
*) event mpm: Correctly count active child processes in parent process if |
| 1128 |
child process dies due to MaxConnectionsPerChild. |
| 1129 |
PR 65592 [Ruediger Pluem] |
| 1130 |
|
| 1131 |
*) mod_http2: when a server is restarted gracefully, any idle h2 worker |
| 1132 |
threads are shut down immediately. |
| 1133 |
Also, change OpenSSL API use for deprecations in OpenSSL 3.0. |
| 1134 |
Adds all other, never proposed code changes to make a clean |
| 1135 |
sync of http2 sources. [Stefan Eissing] |
| 1136 |
|
| 1137 |
*) mod_dav: Correctly handle errors returned by dav providers on REPORT |
| 1138 |
requests. [Ruediger Pluem] |
| 1139 |
|
| 1140 |
*) core: do not install core input/output filters on secondary |
| 1141 |
connections. [Stefan Eissing] |
| 1142 |
|
| 1143 |
*) core: Add ap_pre_connection() as a wrapper to ap_run_pre_connection() |
| 1144 |
and use it to prevent that failures in running the pre_connection |
| 1145 |
hook cause crashes afterwards. [Ruediger Pluem] |
| 1146 |
|
| 1147 |
*) mod_speling: Add CheckBasenameMatch PR 44221. [Christophe Jaillet] |
| 1148 |
|
| 1149 |
Changes with Apache 2.4.49 |
| 1150 |
|
| 1151 |
*) SECURITY: CVE-2021-40438 (cve.mitre.org) |
| 1152 |
mod_proxy: Server Side Request Forgery (SSRF) vulnerability [Yann Ylavic] |
| 1153 |
|
| 1154 |
*) SECURITY: CVE-2021-39275 (cve.mitre.org) |
| 1155 |
core: ap_escape_quotes buffer overflow |
| 1156 |
|
| 1157 |
*) SECURITY: CVE-2021-36160 (cve.mitre.org) |
| 1158 |
mod_proxy_uwsgi: Out of bound read vulnerability [Yann Ylavic] |
| 1159 |
|
| 1160 |
*) SECURITY: CVE-2021-34798 (cve.mitre.org) |
| 1161 |
core: null pointer dereference on malformed request |
| 1162 |
|
| 1163 |
*) SECURITY: CVE-2021-33193 (cve.mitre.org) |
| 1164 |
mod_http2: Request splitting vulnerability with mod_proxy [Stefan Eissing] |
| 1165 |
|
| 1166 |
*) core/mod_proxy/mod_ssl: |
| 1167 |
Adding `outgoing` flag to conn_rec, indicating a connection is |
| 1168 |
initiated by the server to somewhere, in contrast to incoming |
| 1169 |
connections from clients. |
| 1170 |
Adding 'ap_ssl_bind_outgoing()` function that marks a connection |
| 1171 |
as outgoing and is used by mod_proxy instead of the previous |
| 1172 |
optional function `ssl_engine_set`. This enables other SSL |
| 1173 |
module to secure proxy connections. |
| 1174 |
The optional functions `ssl_engine_set`, `ssl_engine_disable` and |
| 1175 |
`ssl_proxy_enable` are now provided by the core to have backward |
| 1176 |
compatibility with non-httpd modules that might use them. mod_ssl |
| 1177 |
itself no longer registers these functions, but keeps them in its |
| 1178 |
header for backward compatibility. |
| 1179 |
The core provided optional function wrap any registered function |
| 1180 |
like it was done for `ssl_is_ssl`. |
| 1181 |
[Stefan Eissing] |
| 1182 |
|
| 1183 |
*) mod_ssl: Support logging private key material for use with |
| 1184 |
wireshark via log file given by SSLKEYLOGFILE environment |
| 1185 |
variable. Requires OpenSSL 1.1.1. PR 63391. [Joe Orton] |
| 1186 |
|
| 1187 |
*) mod_proxy: Do not canonicalize the proxied URL when both "nocanon" and |
| 1188 |
"ProxyPassInterpolateEnv On" are configured. PR 65549. |
| 1189 |
[Joel Self <joelself gmail.com>] |
| 1190 |
|
| 1191 |
*) mpm_event: Fix children processes possibly not stopped on graceful |
| 1192 |
restart. PR 63169. [Joel Self <joelself gmail.com>] |
| 1193 |
|
| 1194 |
*) mod_proxy: Fix a potential infinite loop when tunneling Upgrade(d) |
| 1195 |
protocols from mod_proxy_http, and a timeout triggering falsely when |
| 1196 |
using mod_proxy_wstunnel, mod_proxy_connect or mod_proxy_http with |
| 1197 |
upgrade= setting. PRs 65521 and 65519. [Yann Ylavic] |
| 1198 |
|
| 1199 |
*) mod_unique_id: Reduce the time window where duplicates may be generated |
| 1200 |
PR 65159 |
| 1201 |
[Christophe Jaillet] |
| 1202 |
|
| 1203 |
*) mpm_prefork: Block signals for child_init hooks to prevent potential |
| 1204 |
threads created from there to catch MPM's signals. |
| 1205 |
[Ruediger Pluem, Yann Ylavic] |
| 1206 |
|
| 1207 |
*) Revert "mod_unique_id: Fix potential duplicated ID generation under heavy load. |
| 1208 |
PR 65159" added in 2.4.47. |
| 1209 |
This causes issue on Windows. |
| 1210 |
[Christophe Jaillet] |
| 1211 |
|
| 1212 |
*) mod_proxy_uwsgi: Fix PATH_INFO setting for generic worker. [Yann Ylavic] |
| 1213 |
|
| 1214 |
*) mod_md: Certificate/keys pairs are verified as matching before a renewal is accepted |
| 1215 |
as successful or a staged renewal is replacing the existing certificates. |
| 1216 |
This avoid potential mess ups in the md store file system to render the active |
| 1217 |
certificates non-working. [@mkauf] |
| 1218 |
|
| 1219 |
*) mod_proxy: Faster unix socket path parsing in the "proxy:" URL. |
| 1220 |
[Yann Ylavic] |
| 1221 |
|
| 1222 |
*) mod_ssl: tighten the handling of ALPN for outgoing (proxy) |
| 1223 |
connections. If ALPN protocols are provided and sent to the |
| 1224 |
remote server, the received protocol selected is inspected |
| 1225 |
and checked for a match. Without match, the peer handshake |
| 1226 |
fails. |
| 1227 |
An exception is the proposal of "http/1.1" where it is |
| 1228 |
accepted if the remote server did not answer ALPN with |
| 1229 |
a selected protocol. This accommodates for hosts that do |
| 1230 |
not observe/support ALPN and speak http/1.x be default. |
| 1231 |
|
| 1232 |
*) mod_proxy: Fix possible reuse/merging of Proxy(Pass)Match worker instances |
| 1233 |
with others when their URLs contain a '$' substitution. PR 65419 + 65429. |
| 1234 |
[Yann Ylavic] |
| 1235 |
|
| 1236 |
*) mod_dav: Add method_precondition hook. WebDAV extensions define |
| 1237 |
conditions that must exist before a WebDAV method can be executed. |
| 1238 |
This hook allows a WebDAV extension to verify these preconditions. |
| 1239 |
[Graham Leggett] |
| 1240 |
|
| 1241 |
*) Add hooks deliver_report and gather_reports to mod_dav.h. Allows other |
| 1242 |
modules apart from versioning implementations to handle the REPORT method. |
| 1243 |
[Graham Leggett] |
| 1244 |
|
| 1245 |
*) Add dav_get_provider(), dav_open_lockdb(), dav_close_lockdb() and |
| 1246 |
dav_get_resource() to mod_dav.h. [Graham Leggett] |
| 1247 |
|
| 1248 |
*) core: fix ap_escape_quotes substitution logic. [Eric Covener] |
| 1249 |
|
| 1250 |
*) core/mpm: add hook 'child_stopping` that gets called when the MPM is |
| 1251 |
stopping a child process. The additional `graceful` parameter allows |
| 1252 |
registered hooks to free resources early during a graceful shutdown. |
| 1253 |
[Yann Ylavic, Stefan Eissing] |
| 1254 |
|
| 1255 |
*) mod_proxy: Fix icomplete initialization of BalancerMember(s) from the |
| 1256 |
balancer-manager, which can lead to a crash. [Yann Ylavic] |
| 1257 |
|
| 1258 |
*) mpm_event: Fix graceful stop/restart of children processes if connections |
| 1259 |
are in lingering close for too long. [Yann Ylavic] |
| 1260 |
|
| 1261 |
*) mod_md: fixed a potential null pointer dereference if ACME/OCSP |
| 1262 |
server returned 2xx responses without content type. Reported by chuangwen. |
| 1263 |
[chuangwen, Stefan Eissing] |
| 1264 |
|
| 1265 |
*) mod_md: |
| 1266 |
- Domain names in `<MDomain ...>` can now appear in quoted form. |
| 1267 |
- Fixed a failure in ACME challenge selection that aborted further searches |
| 1268 |
when the tls-alpn-01 method did not seem to be suitable. |
| 1269 |
- Changed the tls-alpn-01 setup to only become unsuitable when none of the |
| 1270 |
dns names showed support for a configured 'Protocols ... acme-tls/1'. This |
| 1271 |
allows use of tls-alpn-01 for dns names that are not mapped to a VirtualHost. |
| 1272 |
[Stefan Eissing] |
| 1273 |
|
| 1274 |
*) Add CPING to health check logic. [Jean-Frederic Clere] |
| 1275 |
|
| 1276 |
*) core: Split ap_create_request() from ap_read_request(). [Graham Leggett] |
| 1277 |
|
| 1278 |
*) core, h2: common ap_parse_request_line() and ap_check_request_header() |
| 1279 |
code. [Yann Ylavic] |
| 1280 |
|
| 1281 |
*) core: Add StrictHostCheck to allow unconfigured hostnames to be |
| 1282 |
rejected. [Eric Covener] |
| 1283 |
|
| 1284 |
*) htcacheclean: Improve help messages. [Christophe Jaillet] |
| 1285 |
|
| 1286 |
Changes with Apache 2.4.48 |
| 1287 |
|
| 1288 |
*) SECURITY: CVE-2021-31618 (cve.mitre.org) |
| 1289 |
mod_http2: Fix a potential NULL pointer dereference [Ivan Zhakov] |
| 1290 |
|
| 1291 |
*) mod_proxy_wstunnel: Add ProxyWebsocketFallbackToProxyHttp to opt-out the |
| 1292 |
fallback to mod_proxy_http for WebSocket upgrade and tunneling. |
| 1293 |
[Yann Ylavic] |
| 1294 |
|
| 1295 |
*) mod_proxy: Fix flushing of THRESHOLD_MIN_WRITE data while tunneling. |
| 1296 |
BZ 65294. [Yann Ylavic] |
| 1297 |
|
| 1298 |
*) core: Fix a regression that stripped the ETag header from 304 responses. |
| 1299 |
PR 61820 [Ruediger Pluem, Roy T. Fielding] |
| 1300 |
|
| 1301 |
*) core: Adding SSL related inquiry functions to the server API. |
| 1302 |
These function are always available, even when no module providing |
| 1303 |
SSL is loaded. They provide their own "shadowing" implementation for |
| 1304 |
the optional functions of similar name that mod_ssl and impersonators |
| 1305 |
of mod_ssl provide. |
| 1306 |
This enables loading of several SSL providing modules when all but |
| 1307 |
one of them registers itself into the new hooks. Two old-style SSL |
| 1308 |
modules will not work, as they replace the others optional functions |
| 1309 |
with their own. |
| 1310 |
Modules using the old-style optional functions will continue to work |
| 1311 |
as core supplies its own versions of those. |
| 1312 |
The following has been added so far: |
| 1313 |
- ap_ssl_conn_is_ssl() to query if a connection is using SSL. |
| 1314 |
- ap_ssl_var_lookup() to query SSL related variables for a |
| 1315 |
server/connection/request. |
| 1316 |
- Hooks for 'ssl_conn_is_ssl' and 'ssl_var_lookup' where modules |
| 1317 |
providing SSL can install their own value supplying functions. |
| 1318 |
- ap_ssl_add_cert_files() to enable other modules like mod_md to provide |
| 1319 |
certificate and keys for an SSL module like mod_ssl. |
| 1320 |
- ap_ssl_add_fallback_cert_files() to enable other modules like mod_md to |
| 1321 |
provide a fallback certificate in case no 'proper' certificate is |
| 1322 |
available for an SSL module like mod_ssl. |
| 1323 |
- ap_ssl_answer_challenge() to enable other modules like mod_md to |
| 1324 |
provide a certificate as used in the RFC 8555 'tls-alpn-01' challenge |
| 1325 |
for the ACME protocol for an SSL module like mod_ssl. The function |
| 1326 |
and its hook provide PEM encoded data instead of file names. |
| 1327 |
- Hooks for 'ssl_add_cert_files', 'ssl_add_fallback_cert_files' and |
| 1328 |
'ssl_answer_challenge' where modules like mod_md can provide providers |
| 1329 |
to the above mentioned functions. |
| 1330 |
- These functions reside in the new 'http_ssl.h' header file. |
| 1331 |
[Stefan Eissing] |
| 1332 |
|
| 1333 |
*) core/mod_ssl/mod_md: adding OCSP response provisioning as core feature. This |
| 1334 |
allows modules to access and provide OCSP response data without being tied |
| 1335 |
of each other. The data is exchanged in standard, portable formats (PEM encoded |
| 1336 |
certificates and DER encoded responses), so that the actual SSL/crypto |
| 1337 |
implementations used by the modules are independant of each other. |
| 1338 |
Registration and retrieval happen in the context of a server (server_rec) |
| 1339 |
which modules may use to decide if they are configured for this or not. |
| 1340 |
The area of changes: |
| 1341 |
1. core: defines 2 functions in include/http_ssl.h, so that modules may |
| 1342 |
register a certificate, together with its issuer certificate for OCSP |
| 1343 |
response provisioning and ask for current response data (DER bytes) later. |
| 1344 |
Also, 2 hooks are defined that allow modules to implement this OCSP |
| 1345 |
provisioning. |
| 1346 |
2. mod_ssl uses the new functions, in addition to what it did already, to |
| 1347 |
register its certificates this way. If no one is interested in providing |
| 1348 |
OCSP, it falls back to its own (if configured) stapling implementation. |
| 1349 |
3. mod_md registers itself at the core hooks for OCSP provisioning. Depending |
| 1350 |
on configuration, it will accept registrations of its own certificates only, |
| 1351 |
all certificates or none. |
| 1352 |
[Stefan Eissing] |
| 1353 |
|
| 1354 |
*) mod_md: v2.4.0 with improvements and bugfixes |
| 1355 |
- MDPrivateKeys allows the specification of several types. Beside "RSA" plus |
| 1356 |
optional key lengths elliptic curves can be configured. This means you can |
| 1357 |
have multiple certificates for a Managed Domain with different key types. |
| 1358 |
With ```MDPrivateKeys secp384r1 rsa2048``` you get one ECDSA and one RSA |
| 1359 |
certificate and all modern client will use the shorter ECDSA, while older |
| 1360 |
client will get the RSA certificate. |
| 1361 |
Many thanks to @tlhackque who pushed and helped on this. |
| 1362 |
- Support added for MDomains consisting of a wildcard. Configuring |
| 1363 |
```MDomain *.host.net``` will match all virtual hosts matching that pattern |
| 1364 |
and obtain one certificate for it (assuming you have 'dns-01' challenge |
| 1365 |
support configured). Addresses #239. |
| 1366 |
- Removed support for ACMEv1 servers. The only known installation used to |
| 1367 |
be Let's Encrypt which has disabled that version more than a year ago for |
| 1368 |
new accounts. |
| 1369 |
- Andreas Ulm (<https://github.com/root360-AndreasUlm>) implemented the |
| 1370 |
```renewing``` call to ```MDMessageCmd``` that can deny a certificate |
| 1371 |
renewal attempt. This is useful in clustered installations, as |
| 1372 |
discussed in #233). |
| 1373 |
- New event ```challenge-setup:<type>:<domain>```, triggered when the |
| 1374 |
challenge data for a domain has been created. This is invoked before the |
| 1375 |
ACME server is told to check for it. The type is one of the ACME challenge |
| 1376 |
types. This is invoked for every DNS name in a MDomain. |
| 1377 |
- The max delay for retries has been raised to daily (this is like all |
| 1378 |
retries jittered somewhat to avoid repeats at fixed time of day). |
| 1379 |
- Certain error codes reported by the ACME server that indicate a problem |
| 1380 |
with the configured data now immediately switch to daily retries. For |
| 1381 |
example: if the ACME server rejects a contact email or a domain name, |
| 1382 |
frequent retries will most likely not solve the problem. But daily retries |
| 1383 |
still make sense as there might be an error at the server and un-supervised |
| 1384 |
certificate renewal is the goal. Refs #222. |
| 1385 |
- Test case and work around for domain names > 64 octets. Fixes #227. |
| 1386 |
When the first DNS name of an MD is longer than 63 octets, the certificate |
| 1387 |
request will not contain a CN field, but leave it up to the CA to choose one. |
| 1388 |
Currently, Lets Encrypt looks for a shorter name in the SAN list given and |
| 1389 |
fails the request if none is found. But it is really up to the CA (and what |
| 1390 |
browsers/libs accept here) and may change over the years. That is why |
| 1391 |
the decision is best made at the CA. |
| 1392 |
- Retry delays now have a random +/-[0-50]% modification applied to let |
| 1393 |
retries from several servers spread out more, should they have been |
| 1394 |
restarted at the same time of day. |
| 1395 |
- Fixed several places where the 'badNonce' return code from an ACME server |
| 1396 |
was not handled correctly. The test server 'pebble' simulates this behaviour |
| 1397 |
by default and helps nicely in verifying this behaviour. Thanks, pebble! |
| 1398 |
- Set the default `MDActivationDelay` to 0. This was confusing to users that |
| 1399 |
new certificates were deemed not usably before a day of delay. When clocks are |
| 1400 |
correct, using a new certificate right away should not pose a problem. |
| 1401 |
- When handling ACME authorization resources, the module no longer requires |
| 1402 |
the server to return a "Location" header, as was necessary in ACMEv1. |
| 1403 |
Fixes #216. |
| 1404 |
- Fixed a theoretical uninitialized read when testing for JSON error responses |
| 1405 |
from the ACME CA. Reported at <https://bz.apache.org/bugzilla/show_bug.cgi?id=64297>. |
| 1406 |
- ACME problem reports from CAs that include parameters in the Content-Type |
| 1407 |
header are handled correctly. (Previously, the problem text would not be |
| 1408 |
reported and retries could exceed CA limits.) |
| 1409 |
- Account Update transactions to V2 CAs now use the correct POST-AS-GET method. |
| 1410 |
Previously, an empty JSON object was sent - which apparently LE accepted, |
| 1411 |
but others reject. |
| 1412 |
[Stefan Eissing, @tlhackque, Andreas Ulm] |
| 1413 |
|
| 1414 |
Changes with Apache 2.4.47 |
| 1415 |
|
| 1416 |
*) SECURITY: CVE-2021-30641 (cve.mitre.org) |
| 1417 |
Unexpected <Location> section matching with 'MergeSlashes OFF' |
| 1418 |
|
| 1419 |
*) SECURITY: CVE-2020-35452 (cve.mitre.org) |
| 1420 |
mod_auth_digest: possible stack overflow by one nul byte while validating |
| 1421 |
the Digest nonce. [Yann Ylavic] |
| 1422 |
|
| 1423 |
*) SECURITY: CVE-2021-26691 (cve.mitre.org) |
| 1424 |
mod_session: Fix possible crash due to NULL pointer dereference, which |
| 1425 |
could be used to cause a Denial of Service with a malicious backend |
| 1426 |
server and SessionHeader. [Yann Ylavic] |
| 1427 |
|
| 1428 |
*) SECURITY: CVE-2021-26690 (cve.mitre.org) |
| 1429 |
mod_session: Fix possible crash due to NULL pointer dereference, which |
| 1430 |
could be used to cause a Denial of Service. [Yann Ylavic] |
| 1431 |
|
| 1432 |
*) SECURITY: CVE-2020-13950 (cve.mitre.org) |
| 1433 |
mod_proxy_http: Fix possible crash due to NULL pointer dereference, which |
| 1434 |
could be used to cause a Denial of Service. [Yann Ylavic] |
| 1435 |
|
| 1436 |
*) SECURITY: CVE-2020-13938 (cve.mitre.org) |
| 1437 |
Windows: Prevent local users from stopping the httpd process [Ivan Zhakov] |
| 1438 |
|
| 1439 |
*) SECURITY: CVE-2019-17567 (cve.mitre.org) |
| 1440 |
mod_proxy_wstunnel, mod_proxy_http: Handle Upgradable protocols end-to-end |
| 1441 |
negotiation. [Yann Ylavic] |
| 1442 |
|
| 1443 |
*) mod_dav_fs: Improve logging output when failing to open files for |
| 1444 |
writing. PR 64413. [Bingyu Shen <ahshenbingyu gmail.com>] |
| 1445 |
|
| 1446 |
*) mod_http2: Fixed a race condition that could lead to streams being |
| 1447 |
aborted (RST to the client), although a response had been produced. |
| 1448 |
[Stefan Eissing] |
| 1449 |
|
| 1450 |
*) mod_lua: Add support to Lua 5.4 [Joe Orton, Giovanni Bechis, Ruediger Pluem] |
| 1451 |
|
| 1452 |
*) MPM event/worker: Fix possible crash in child process on early signal |
| 1453 |
delivery. PR 64533. [Ruediger Pluem] |
| 1454 |
|
| 1455 |
*) mod_http2: sync with github standalone version 1.15.17 |
| 1456 |
- Log requests and sent the configured error response in case of early detected |
| 1457 |
errors like too many or too long headers. [Ruediger Pluem] |
| 1458 |
- new option 'H2OutputBuffering on/off' which controls the buffering of stream output. |
| 1459 |
The default is on, which is the behaviour of older mod-h2 versions. When off, all |
| 1460 |
bytes are made available immediately to the main connection for sending them |
| 1461 |
out to the client. This fixes interop issues with certain flavours of gRPC, see |
| 1462 |
also <https://github.com/icing/mod_h2/issues/207>. |
| 1463 |
[Stefan Eissing] |
| 1464 |
|
| 1465 |
*) mod_unique_id: Fix potential duplicated ID generation under heavy load. |
| 1466 |
PR 65159 |
| 1467 |
[Jonas Müntener <jonas.muentener ergon.ch>, Christophe Jaillet] |
| 1468 |
|
| 1469 |
*) "[mod_dav_fs etag handling] should really honor the FileETag setting". |
| 1470 |
- It now does. |
| 1471 |
- Add "Digest" to FileETag directive, allowing a strong ETag to be |
| 1472 |
generated using a file digest. |
| 1473 |
- Add ap_make_etag_ex() and ap_set_etag_fd() to allow full control over |
| 1474 |
ETag generation. |
| 1475 |
- Add concept of "binary notes" to request_rec, allowing packed bit flags |
| 1476 |
to be added to a request. |
| 1477 |
- First binary note - AP_REQUEST_STRONG_ETAG - allows modules to force |
| 1478 |
the ETag to a strong ETag to comply with RFC requirements, such as those |
| 1479 |
mandated by various WebDAV extensions. |
| 1480 |
[Graham Leggett] |
| 1481 |
|
| 1482 |
*) mod_proxy_http: Fix a possibly crash when the origin connection gets |
| 1483 |
interrupted before completion. PR 64234. |
| 1484 |
[Barnim Dzwillo <dzwillo strato.de>, Ruediger Pluem] |
| 1485 |
|
| 1486 |
*) mod_ssl: Do not keep connections to OCSP responders alive when doing |
| 1487 |
OCSP requests. PR 64135. [Ruediger Pluem] |
| 1488 |
|
| 1489 |
*) mod_ssl: Improve the coalescing filter to buffer into larger TLS |
| 1490 |
records, and avoid revealing the HTTP header size via TLS record |
| 1491 |
boundaries (for common response generators). |
| 1492 |
[Joe Orton, Ruediger Pluem] |
| 1493 |
|
| 1494 |
*) mod_proxy_hcheck: Don't pile up health checks if the previous one did |
| 1495 |
not finish before hcinterval. PR 63010. [Yann Ylavic] |
| 1496 |
|
| 1497 |
*) mod_session: Improve session parsing. [Yann Yalvic] |
| 1498 |
|
| 1499 |
*) mod_authnz_ldap: Prevent authentications with empty passwords for the |
| 1500 |
initial bind to fail with status 500. [Ruediger Pluem] |
| 1501 |
|
| 1502 |
*) mod_proxy_fcgi: Honor "SetEnv proxy-sendcl" to forward a chunked |
| 1503 |
Transfer-Encoding from the client, spooling the request body when needed |
| 1504 |
to provide a Content-Length to the backend. PR 57087. [Yann Ylavic] |
| 1505 |
|
| 1506 |
*) mod_proxy: Improve tunneling loop to support half closed connections and |
| 1507 |
pending data draining (for protocols like rsync). PR 61616. [Yann Ylavic] |
| 1508 |
|
| 1509 |
*) mod_proxy_wstunnel: Leave Upgrade requests handling to mod_proxy_http, |
| 1510 |
allowing for (non-)Upgrade negotiation with the origin server. |
| 1511 |
[Yann Ylavic] |
| 1512 |
|
| 1513 |
*) mod_proxy: Allow ProxyErrorOverride to be restricted to specific status |
| 1514 |
codes. PR63628. [Martin Drößler <mail martindroessler.de>] |
| 1515 |
|
| 1516 |
*) core: Add ReadBufferSize, FlushMaxThreshold and FlushMaxPipelined |
| 1517 |
directives. [Yann Ylavic] |
| 1518 |
|
| 1519 |
*) core: Ensure that aborted connections are logged as such. PR 62823 |
| 1520 |
[Arnaud Grandville <contact@grandville.net>] |
| 1521 |
|
| 1522 |
*) http: Allow unknown response status' lines returned in the form of |
| 1523 |
"HTTP/x.x xxx Status xxx". [Yann Ylavic] |
| 1524 |
|
| 1525 |
*) mod_proxy_http: Fix 100-continue deadlock for spooled request bodies, |
| 1526 |
leading to Request Timeout (408). PR 63855. [Yann Ylavic] |
| 1527 |
|
| 1528 |
*) core: Remove headers on 304 Not Modified as specified by RFC7234, as |
| 1529 |
opposed to passing an explicit subset of headers. PR 61820. |
| 1530 |
[Giovanni Bechis] |
| 1531 |
|
| 1532 |
*) mpm_event: Don't reset connections after lingering close, restoring prior |
| 1533 |
to 2.4.28 behaviour. [Yann Ylavic] |
| 1534 |
|
| 1535 |
*) mpm_event: Kill connections in keepalive state only when there is no more |
| 1536 |
workers available, not when the maximum number of connections is reached, |
| 1537 |
restoring prior to 2.4.30 behaviour. [Yann Ylavic] |
| 1538 |
|
| 1539 |
*) mod_unique_id: Use base64url encoding for UNIQUE_ID variable, |
| 1540 |
avoiding the use of '@'. PR 57044. |
| 1541 |
[Michael Kaufmann <apache-bugzilla michael-kaufmann.ch>] |
| 1542 |
|
| 1543 |
*) mod_rewrite: Extend the [CO] (cookie) flag of RewriteRule to accept a |
| 1544 |
SameSite attribute. [Eric Covener] |
| 1545 |
|
| 1546 |
*) mod_proxy: Add proxy check_trans hook. This allows proxy |
| 1547 |
modules to decline request handling at early stage. |
| 1548 |
|
| 1549 |
*) mod_proxy_wstunnel: Decline requests without an Upgrade |
| 1550 |
header so ws/wss can be enabled overlapping with later |
| 1551 |
http/https. |
| 1552 |
|
| 1553 |
*) mod_http2: Log requests and sent the configured error response in case of |
| 1554 |
early detected errors like too many or too long headers. |
| 1555 |
[Ruediger Pluem, Stefan Eissing] |
| 1556 |
|
| 1557 |
*) mod_md: Lowered the required minimal libcurl version from 7.50 to 7.29 |
| 1558 |
as proposed by <alexander.gerasimov codeit.pro>. [Stefan Eissing] |
| 1559 |
|
| 1560 |
*) mod_ssl: Fix request body buffering with PHA in TLSv1.3. [Joe Orton] |
| 1561 |
|
| 1562 |
*) mod_proxy_uwsgi: Fix a crash when sending environment variables with no |
| 1563 |
value. PR 64598 [Ruediger Pluem] |
| 1564 |
|
| 1565 |
*) mod_proxy: Recognize parameters from ProxyPassMatch workers with dollar |
| 1566 |
substitution, such that they apply to the backend connection. Note that |
| 1567 |
connection reuse is disabled by default to avoid compatibility issues. |
| 1568 |
[Takashi Sato, Jan Kaluza, Eric Covener, Yann Ylavic, Jean-Frederic Clere] |
| 1569 |
|
| 1570 |
Changes with Apache 2.4.46 |
| 1571 |
|
| 1572 |
*) SECURITY: CVE-2020-11984 (cve.mitre.org) |
| 1573 |
mod_proxy_uwsgi: Malicious request may result in information disclosure |
| 1574 |
or RCE of existing file on the server running under a malicious process |
| 1575 |
environment. [Yann Ylavic] |
| 1576 |
|
| 1577 |
*) SECURITY: CVE-2020-11993 (cve.mitre.org) |
| 1578 |
mod_http2: when throttling connection requests, log statements |
| 1579 |
where possibly made that result in concurrent, unsafe use of |
| 1580 |
a memory pool. [Stefan Eissing] |
| 1581 |
|
| 1582 |
*) SECURITY: CVE-2020-9490 (cve.mitre.org) |
| 1583 |
mod_http2: a specially crafted value for the 'Cache-Digest' header |
| 1584 |
request would result in a crash when the server actually tries |
| 1585 |
to HTTP/2 PUSH a resource afterwards. [Stefan Eissing] |
| 1586 |
|
| 1587 |
*) mod_proxy_fcgi: Fix missing APLOGNO macro argument |
| 1588 |
[Eric Covener, Christophe Jaillet] |
| 1589 |
|
| 1590 |
Changes with Apache 2.4.45 |
| 1591 |
|
| 1592 |
*) mod_http2: remove support for abandoned http-wg draft |
| 1593 |
<https://datatracker.ietf.org/doc/draft-kazuho-h2-cache-digest/>. |
| 1594 |
[Stefan Eissing] |
| 1595 |
|
| 1596 |
Changes with Apache 2.4.44 |
| 1597 |
|
| 1598 |
*) mod_proxy_uwsgi: Error out on HTTP header larger than 16K (hard |
| 1599 |
protocol limit). [Yann Ylavic] |
| 1600 |
|
| 1601 |
*) mod_http2: |
| 1602 |
Fixes <https://github.com/icing/mod_h2/issues/200>: |
| 1603 |
"LimitRequestFields 0" now disables the limit, as documented. |
| 1604 |
Fixes <https://github.com/icing/mod_h2/issues/201>: |
| 1605 |
Do not count repeated headers with same name against the field |
| 1606 |
count limit. The are merged internally, as if sent in a single HTTP/1 line. |
| 1607 |
[Stefan Eissing] |
| 1608 |
|
| 1609 |
*) mod_http2: Avoid segfaults in case of handling certain responses for |
| 1610 |
already aborted connections. [Stefan Eissing, Ruediger Pluem] |
| 1611 |
|
| 1612 |
*) mod_http2: The module now handles master/secondary connections and has marked |
| 1613 |
methods according to use. [Stefan Eissing] |
| 1614 |
|
| 1615 |
*) core: Drop an invalid Last-Modified header value coming |
| 1616 |
from a FCGI/CGI script instead of replacing it with Unix epoch. |
| 1617 |
[Yann Ylavic, Luca Toscano] |
| 1618 |
|
| 1619 |
*) Add support for strict content-length parsing through addition of |
| 1620 |
ap_parse_strict_length() [Yann Ylavic] |
| 1621 |
|
| 1622 |
*) mod_proxy_fcgi: ProxyFCGISetEnvIf unsets variables when expression |
| 1623 |
evaluates to false. PR64365. [Michael König <mail ikoenig.net>] |
| 1624 |
|
| 1625 |
*) mod_proxy_http: flush spooled request body in one go to avoid |
| 1626 |
leaking (or long lived) temporary file. PR 64452. [Yann Ylavic] |
| 1627 |
|
| 1628 |
*) mod_ssl: Fix a race condition and possible crash when using a proxy client |
| 1629 |
certificate (SSLProxyMachineCertificateFile). |
| 1630 |
[Armin Abfalterer <a.abfalterer gmail.com>] |
| 1631 |
|
| 1632 |
*) mod_ssl: Fix memory leak in stapling code. PR63687. [Stefan Eissing] |
| 1633 |
|
| 1634 |
*) mod_http2: Fixed regression that no longer set H2_STREAM_ID and H2_STREAM_TAG. |
| 1635 |
PR64330 [Stefan Eissing] |
| 1636 |
|
| 1637 |
*) mod_http2: Fixed regression that caused connections to close when mod_reqtimeout |
| 1638 |
was configured with a handshake timeout. Fixes gitub issue #196. |
| 1639 |
[Stefan Eissing] |
| 1640 |
|
| 1641 |
*) mod_proxy_http2: the "ping" proxy parameter |
| 1642 |
(see <https://httpd.apache.org/docs/2.4/mod/mod_proxy.html>) is now used |
| 1643 |
when checking the liveliness of a new or reused h2 connection to the backend. |
| 1644 |
With short durations, this makes load-balancing more responsive. The module |
| 1645 |
will hold back requests until ping conditions are met, using features of the |
| 1646 |
HTTP/2 protocol alone. [Ruediger Pluem, Stefan Eissing] |
| 1647 |
|
| 1648 |
*) core: httpd is no longer linked against -lsystemd if mod_systemd |
| 1649 |
is enabled (and built as a DSO). [Rainer Jung] |
| 1650 |
|
| 1651 |
*) mod_proxy_http2: respect ProxyTimeout settings on backend connections |
| 1652 |
while waiting on incoming data. [Ruediger Pluem, Stefan Eissing] |
| 1653 |
|
| 1654 |
Changes with Apache 2.4.43 |
| 1655 |
|
| 1656 |
*) mod_ssl: Fix memory leak of OCSP stapling response. [Yann Ylavic] |
| 1657 |
|
| 1658 |
Changes with Apache 2.4.42 |
| 1659 |
|
| 1660 |
*) SECURITY: CVE-2020-1934 (cve.mitre.org) |
| 1661 |
mod_proxy_ftp: Use of uninitialized value with malicious backend FTP |
| 1662 |
server. [Eric Covener] |
| 1663 |
|
| 1664 |
*) SECURITY: CVE-2020-1927 (cve.mitre.org) |
| 1665 |
rewrite, core: Set PCRE_DOTALL flag by default to avoid unpredictable |
| 1666 |
matches and substitutions with encoded line break characters. |
| 1667 |
The fix for CVE-2019-10098 was not effective. [Ruediger Pluem] |
| 1668 |
|
| 1669 |
*) mod_proxy_http: Fix the forwarding of requests with content body when a |
| 1670 |
balancer member is unavailable; the retry on the next member was issued |
| 1671 |
with an empty body (regression introduced in 2.4.41). PR63891. |
| 1672 |
[Yann Ylavic] |
| 1673 |
|
| 1674 |
*) core: Use a temporary file when writing the pid file, avoiding |
| 1675 |
startup failure if an empty pidfile is left over from a |
| 1676 |
previous crashed or aborted invocation of httpd. PR 63140. |
| 1677 |
[Nicolas Carrier <carrier.nicolas0 gmail.com>, Joe Orton] |
| 1678 |
|
| 1679 |
*) mod_http2: Fixes issue where mod_unique_id would generate non-unique request |
| 1680 |
identifier under load, see <https://github.com/icing/mod_h2/issues/195>. |
| 1681 |
[Michael Kaufmann, Stefan Eissing] |
| 1682 |
|
| 1683 |
*) mod_proxy_hcheck: Allow healthcheck expressions to use %{Content-Type}. |
| 1684 |
PR64140. [Renier Velazco <renier.velazco upr.edu>] |
| 1685 |
|
| 1686 |
*) mod_authz_groupfile: Drop AH01666 from loglevel "error" to "info". |
| 1687 |
PR64172. |
| 1688 |
|
| 1689 |
*) mod_usertrack: Add CookieSameSite, CookieHTTPOnly, and CookieSecure |
| 1690 |
to allow customization of the usertrack cookie. PR64077. |
| 1691 |
[Prashant Keshvani <prashant2400 gmail.com>, Eric Covener] |
| 1692 |
|
| 1693 |
*) mod_proxy_ajp: Add "secret" parameter to proxy workers to implement legacy |
| 1694 |
AJP13 authentication. PR 53098. [Dmitry A. Bakshaev <dab1818 gmail com>] |
| 1695 |
|
| 1696 |
*) mpm_event: avoid possible KeepAliveTimeout off by -100 ms. |
| 1697 |
[Eric Covener, Yann Ylavic] |
| 1698 |
|
| 1699 |
*) Add a config layout for OpenWRT. [Graham Leggett] |
| 1700 |
|
| 1701 |
*) Add support for cross compiling to apxs. If apxs is being executed from |
| 1702 |
somewhere other than its target location, add that prefix to includes and |
| 1703 |
library directories. Without this, apxs would fail to find config_vars.mk |
| 1704 |
and exit. [Graham Leggett] |
| 1705 |
|
| 1706 |
*) mod_ssl: Disable client verification on ACME ALPN challenges. Fixes github |
| 1707 |
issue mod_md#172 (https://github.com/icing/mod_md/issues/172). |
| 1708 |
[Michael Kaufmann <mail michael-kaufmann.ch>, Stefan Eissing] |
| 1709 |
|
| 1710 |
*) mod_ssl: use OPENSSL_init_ssl() to initialise OpenSSL on versions 1.1+. |
| 1711 |
[Graham Leggett] |
| 1712 |
|
| 1713 |
*) mod_ssl: Support use of private keys and certificates from an |
| 1714 |
OpenSSL ENGINE via PKCS#11 URIs in SSLCertificateFile/KeyFile. |
| 1715 |
[Anderson Sasaki <ansasaki redhat.com>, Joe Orton] |
| 1716 |
|
| 1717 |
*) mod_md: |
| 1718 |
- Prefer MDContactEmail directive to ServerAdmin for registration. New directive |
| 1719 |
thanks to Timothe Litt (@tlhackque). |
| 1720 |
- protocol check for pre-configured "tls-alpn-01" challenge has been improved. It will now |
| 1721 |
check all matching virtual hosts for protocol support. Thanks to @mkauf. |
| 1722 |
- Corrected a check when OCSP stapling was configured for hosts |
| 1723 |
where the responsible MDomain is not clear, by Michal Karm Babacek (@Karm). |
| 1724 |
- Softening the restrictions where mod_md configuration directives may appear. This should |
| 1725 |
allow for use in <If> and <Macro> sections. If all possible variations lead to the configuration |
| 1726 |
you wanted in the first place, is another matter. |
| 1727 |
[Michael Kaufmann <mail michael-kaufmann.ch>, Timothe Litt (@tlhackque), |
| 1728 |
Michal Karm Babacek (@Karm), Stefan Eissing (@icing)] |
| 1729 |
|
| 1730 |
*) test: Added continuous testing with Travis CI. |
| 1731 |
This tests various scenarios on Ubuntu with the full test suite. |
| 1732 |
Architectures tested: amd64, s390x, ppc64le, arm64 |
| 1733 |
The tests pass successfully. |
| 1734 |
[Luca Toscano, Joe Orton, Mike Rumph, and others] |
| 1735 |
|
| 1736 |
*) core: Be stricter in parsing of Transfer-Encoding headers. |
| 1737 |
[ZeddYu <zeddyu.lu gmail.com>, Eric Covener] |
| 1738 |
|
| 1739 |
*) mod_ssl: negotiate the TLS protocol version per name based vhost |
| 1740 |
configuration, when linked with OpenSSL-1.1.1 or later. The base vhost's |
| 1741 |
SSLProtocol (from the first vhost declared on the IP:port) is now only |
| 1742 |
relevant if no SSLProtocol is declared for the vhost or globally, |
| 1743 |
otherwise the vhost or global value apply. [Yann Ylavic] |
| 1744 |
|
| 1745 |
*) mod_cgi, mod_cgid: Fix a memory leak in some error cases with large script |
| 1746 |
output. PR 64096. [Joe Orton] |
| 1747 |
|
| 1748 |
*) config: Speed up graceful restarts by using pre-hashed command table. PR 64066. |
| 1749 |
[Giovanni Bechis <giovanni paclan.it>, Jim Jagielski] |
| 1750 |
|
| 1751 |
*) mod_systemd: New module providing integration with systemd. [Jan Kaluza] |
| 1752 |
|
| 1753 |
*) mod_lua: Add r:headers_in_table, r:headers_out_table, r:err_headers_out_table, |
| 1754 |
r:notes_table, r:subprocess_env_table as read-only native table alternatives |
| 1755 |
that can be iterated over. [Eric Covener] |
| 1756 |
|
| 1757 |
*) mod_http2: Fixed rare cases where a h2 worker could deadlock the main connection. |
| 1758 |
[Yann Ylavic, Stefan Eissing] |
| 1759 |
|
| 1760 |
*) mod_lua: Accept nil assignments to the exposed tables (r.subprocess_env, |
| 1761 |
r.headers_out, etc) to remove the key from the table. PR63971. |
| 1762 |
[Eric Covener] |
| 1763 |
|
| 1764 |
*) mod_http2: Fixed interaction with mod_reqtimeout. A loaded mod_http2 was disabling the |
| 1765 |
ssl handshake timeouts. Also, fixed a mistake of the last version that made `H2Direct` |
| 1766 |
always `on`, regardless of configuration. Found and reported by |
| 1767 |
<Armin.Abfalterer@united-security-providers.ch> and |
| 1768 |
<Marcial.Rion@united-security-providers.ch>. [Stefan Eissing] |
| 1769 |
|
| 1770 |
*) mod_http2: Multiple field length violations in the same request no longer cause |
| 1771 |
several log entries to be written. [@mkauf] |
| 1772 |
|
| 1773 |
*) mod_ssl: OCSP does not apply to proxy mode. PR 63679. |
| 1774 |
[Lubos Uhliarik <luhliari redhat.com>, Yann Ylavic] |
| 1775 |
|
| 1776 |
*) mod_proxy_html, mod_xml2enc: Fix build issues with macOS due to r1864469 |
| 1777 |
[Jim Jagielski] |
| 1778 |
|
| 1779 |
*) mod_authn_socache: Increase the maximum length of strings that can be cached by |
| 1780 |
the module from 100 to 256. PR 62149 [<thorsten.meinl knime.com>] |
| 1781 |
|
| 1782 |
*) mod_proxy: Fix crash by resolving pool concurrency problems. PR 63503 |
| 1783 |
[Ruediger Pluem, Eric Covener] |
| 1784 |
|
| 1785 |
*) core: On Windows, fix a start-up crash if <IfFile ...> is used with a path that is not |
| 1786 |
valid (For example, testing for a file on a flash drive that is not mounted) |
| 1787 |
[Christophe Jaillet] |
| 1788 |
|
| 1789 |
*) mod_deflate, mod_brotli: honor "Accept-Encoding: foo;q=0" as per RFC 7231; which |
| 1790 |
means 'foo' is "not acceptable". PR 58158 [Chistophe Jaillet] |
| 1791 |
|
| 1792 |
*) mod_md v2.2.3: |
| 1793 |
- Configuring MDCAChallenges replaces any previous existing challenge configuration. It |
| 1794 |
had been additive before which was not the intended behaviour. [@mkauf] |
| 1795 |
- Fixing order of ACME challenges used when nothing else configured. Code now behaves as |
| 1796 |
documented for `MDCAChallenges`. Fixes #156. Thanks again to @mkauf for finding this. |
| 1797 |
- Fixing a potential, low memory null pointer dereference [thanks to @uhliarik]. |
| 1798 |
- Fixing an incompatibility with a change in libcurl v7.66.0 that added unwanted |
| 1799 |
"transfer-encoding" to POST requests. This failed in direct communication with |
| 1800 |
Let's Encrypt boulder server. Thanks to @mkauf for finding and fixing. [Stefan Eissing] |
| 1801 |
|
| 1802 |
*) mod_md: Adding the several new features. |
| 1803 |
The module offers an implementation of OCSP Stapling that can replace fully or |
| 1804 |
for a limited set of domains the existing one from mod_ssl. OCSP handling |
| 1805 |
is part of mod_md's monitoring and message notifications. If can be used |
| 1806 |
for sites that do not have ACME certificates. |
| 1807 |
The url for a CTLog Monitor can be configured. It is used in the server-status |
| 1808 |
to link to the external status page of a certificate. |
| 1809 |
The MDMessageCmd is called with argument "installed" when a new certificate |
| 1810 |
has been activated on server restart/reload. This allows for processing of |
| 1811 |
the new certificate, for example to applications that require it in different |
| 1812 |
locations or formats. |
| 1813 |
[Stefan Eissing] |
| 1814 |
|
| 1815 |
*) mod_proxy_balancer: Fix case-sensitive referer check related to CSRF/XSS |
| 1816 |
protection. PR 63688. [Armin Abfalterer <a.abfalterer gmail.com>] |
| 1817 |
|
| 1818 |
Changes with Apache 2.4.41 |
| 1819 |
|
| 1820 |
*) SECURITY: CVE-2019-10097 (cve.mitre.org) |
| 1821 |
mod_remoteip: Fix stack buffer overflow and NULL pointer deference |
| 1822 |
when reading the PROXY protocol header. [Joe Orton, |
| 1823 |
Daniel McCarney <cpu letsencrypt.org>] |
| 1824 |
|
| 1825 |
*) SECURITY: CVE-2019-9517 (cve.mitre.org) |
| 1826 |
mod_http2: a malicious client could perform a DoS attack by flooding |
| 1827 |
a connection with requests and basically never reading responses |
| 1828 |
on the TCP connection. Depending on h2 worker dimensioning, it was |
| 1829 |
possible to block those with relatively few connections. [Stefan Eissing] |
| 1830 |
|
| 1831 |
*) SECURITY: CVE-2019-10098 (cve.mitre.org) |
| 1832 |
rewrite, core: Set PCRE_DOTALL flag by default to avoid unpredictable |
| 1833 |
matches and substitutions with encoded line break characters. |
| 1834 |
[Yann Ylavic] |
| 1835 |
|
| 1836 |
*) SECURITY: CVE-2019-10092 (cve.mitre.org) |
| 1837 |
Remove HTML-escaped URLs from canned error responses to prevent misleading |
| 1838 |
text/links being displayed via crafted links. [Eric Covener] |
| 1839 |
|
| 1840 |
*) SECURITY: CVE-2019-10082 (cve.mitre.org) |
| 1841 |
mod_http2: Using fuzzed network input, the http/2 session |
| 1842 |
handling could be made to read memory after being freed, |
| 1843 |
during connection shutdown. [Stefan Eissing] |
| 1844 |
|
| 1845 |
*) SECURITY: CVE-2019-10081 (cve.mitre.org) |
| 1846 |
mod_http2: HTTP/2 very early pushes, for example configured with "H2PushResource", |
| 1847 |
could lead to an overwrite of memory in the pushing request's pool, |
| 1848 |
leading to crashes. The memory copied is that of the configured push |
| 1849 |
link header values, not data supplied by the client. [Stefan Eissing] |
| 1850 |
|
| 1851 |
*) mod_proxy_balancer: Improve balancer-manager protection against |
| 1852 |
XSS/XSRF attacks from trusted users. [Joe Orton, |
| 1853 |
Niels Heinen <heinenn google.com>] |
| 1854 |
|
| 1855 |
*) mod_session: Introduce SessionExpiryUpdateInterval which allows to |
| 1856 |
configure the session/cookie expiry's update interval. PR 57300. |
| 1857 |
[Paul Spangler <paul.spangler ni.com>] |
| 1858 |
|
| 1859 |
*) modules/filters: Fix broken compilation when using old GCC (<4.2.x). |
| 1860 |
PR 63633. [Rainer Jung, Joe Orton] |
| 1861 |
|
| 1862 |
*) mod_ssl: Fix startup failure in 2.4.40 with SSLCertificateChainFile |
| 1863 |
configured for a domain managed by mod_md. [Stefan Eissing] |
| 1864 |
|
| 1865 |
Changes with Apache 2.4.40 |
| 1866 |
|
| 1867 |
*) core, mod_rewrite: Set PCRE_DOTALL by default. Revert via |
| 1868 |
RegexDefaultOptions -DOTALL [Yann Ylavic] |
| 1869 |
|
| 1870 |
*) core: Remove request details from built-in error documents [Eric Covener] |
| 1871 |
|
| 1872 |
*) mod_http2: core setting "LimitRequestFieldSize" is not additionally checked on |
| 1873 |
merged header fields, just as HTTP/1.1 does. [Stefan Eissing, Michael Kaufmann] |
| 1874 |
|
| 1875 |
*) mod_http2: fixed a bug that prevented proper stream cleanup when connection |
| 1876 |
throttling was in place. Stream resets by clients on streams initiated by them |
| 1877 |
are counted as possible trigger for throttling. [Stefan Eissing] |
| 1878 |
|
| 1879 |
*) mod_http2/mpm_event: Fixes the behaviour when a HTTP/2 connection has nothing |
| 1880 |
more to write with streams ongoing (flow control block). The timeout waiting |
| 1881 |
for the client to send WINODW_UPDATE was incorrectly KeepAliveTimeout and not |
| 1882 |
Timeout as it should be. Fixes PR 63534. [Yann Ylavic, Stefan Eissing] |
| 1883 |
|
| 1884 |
*) mod_proxy_balancer: Load balancer required byrequests when bytraffic chosen. |
| 1885 |
PR 62372. [Jim Jagielski] |
| 1886 |
|
| 1887 |
*) mod_proxy_hcheck: Create the configuration for mod_proxy_hcheck |
| 1888 |
when used in BalancerMember. PR 60757. [Jean-Frederic Clere] |
| 1889 |
|
| 1890 |
*) mod_proxy_hcheck: Mute extremely frequent debug message. [Yann Ylavic] |
| 1891 |
|
| 1892 |
*) mod_ssl/mod_md: reversing dependency by letting mod_ssl offer hooks for |
| 1893 |
adding certificates and keys to a virtual host. An additional hook allows |
| 1894 |
answering special TLS connections as used in ACME challenges. |
| 1895 |
Adding 2 new hooks for init/get of OCSP stapling status information when |
| 1896 |
other modules want to provide those. Falls back to own implementation with |
| 1897 |
same behaviour as before. |
| 1898 |
[Stefan Eissing] |
| 1899 |
|
| 1900 |
*) mod_md: new features |
| 1901 |
- protocol |
| 1902 |
- supports the ACMEv2 protocol. It is the default and will be used on the next |
| 1903 |
certificate renewal, unless another "MDCertificateAuthority" is configured |
| 1904 |
- ACMEv2 endpoints use the GET via empty POST way of accessing resources, see |
| 1905 |
announcement by Let's Encrypt: |
| 1906 |
https://community.letsencrypt.org/t/acme-v2-scheduled-deprecation-of-unauthenticated-resource-gets/74380 |
| 1907 |
- challenges |
| 1908 |
- new challenge method 'tls-alpn-01' implemented |
| 1909 |
- challenge type 'tls-sni-01' has been removed as CAs do not offer this any longer |
| 1910 |
- supports command configuration to setup/teardown 'dns-01' challenges |
| 1911 |
- supports wildcard certificates when dns challenges are configured |
| 1912 |
- status information and monitoring |
| 1913 |
- a domain exposes its status at https://<domain>/.httpd/certificate-status |
| 1914 |
- Managed Domains are now in Apache's 'server-status' page |
| 1915 |
- A new handler 'md-status' exposes verbose status information in JSON format |
| 1916 |
- new directives |
| 1917 |
- "MDCertificateFile" and "MDCertificateKeyFile" to configure a |
| 1918 |
Managed Domain that uses static files. Auto-renewal is turned off for those. |
| 1919 |
- "MDMessageCmd" that is invoked on several events: 'renewed', 'expiring' and |
| 1920 |
'errored'. |
| 1921 |
- "MDWarnWindow" directive to configure when expiration warnings shall be issued. |
| 1922 |
[Stefan Eissing] |
| 1923 |
|
| 1924 |
*) mod_mime_magic: Fix possible corruption of returned strings. |
| 1925 |
[Christophe Jaillet] |
| 1926 |
|
| 1927 |
*) Default "conf/magic": Fix pattern for "audio/x-wav" for WAV files, |
| 1928 |
remove "audio/unknown" pattern for other RIFF files. |
| 1929 |
[Àngel Ollé Blázquez <aollebla redhat.com>] |
| 1930 |
|
| 1931 |
*) mod_proxy_http2: fixing a potential NULL pointer use in logging. |
| 1932 |
[Christophe Jaillet, Dr Silvio Cesare InfoSect] |
| 1933 |
|
| 1934 |
*) mod_dav: Reduce the amount of memory needed when doing PROPFIND's on large |
| 1935 |
collections by improving the memory management. [Joe Orton, Ruediger Pluem] |
| 1936 |
|
| 1937 |
*) mod_proxy_http2: adding support for handling trailers in both directions. |
| 1938 |
PR 63502. [Stefan Eissing] |
| 1939 |
|
| 1940 |
*) mod_proxy_http: forward 100-continue, and minimize race conditions when |
| 1941 |
reusing backend connections. PR 60330. [Yann Ylavic, Jean-Frederic Clere] |
| 1942 |
|
| 1943 |
*) mod_proxy_balancer: Fix some HTML syntax issues. [Christophe Jaillet] |
| 1944 |
|
| 1945 |
*) When using mod_status with the Event MPM, report the number of requests |
| 1946 |
associated with an active connection in the "ACC" field. Previously |
| 1947 |
zero was always reported with this MPM. PR60647. [Eric Covener] |
| 1948 |
|
| 1949 |
*) mod_http2: remove the no longer existing h2_ngn_shed.c from Cmake. |
| 1950 |
[Stefan Eissing] |
| 1951 |
|
| 1952 |
*) mod_proxy/ssl: Proxy SSL client certificate configuration and other proxy |
| 1953 |
SSL configurations broken inside <Proxy> context. PR 63430. |
| 1954 |
[Ruediger Pluem, Yann Ylavic] |
| 1955 |
|
| 1956 |
*) mod_proxy: allow SSLProxyCheckPeer* usage for all proxy modules. |
| 1957 |
PR 61857. [Markus Gausling <markusgausling googlemail.com>, Yann Ylavic] |
| 1958 |
|
| 1959 |
*) mod_reqtimeout: Fix default rates missing (not applied) in 2.4.39. |
| 1960 |
PR 63325. [Yann Ylavic] |
| 1961 |
|
| 1962 |
*) mod_info: Fix output of server settings for PIPE_BUF in mod_info in |
| 1963 |
the rare case that PIPE_BUF is defined. [Rainer Jung] |
| 1964 |
|
| 1965 |
*) mod_md: Store permissions are enforced on file creation, enforcing restrictions in |
| 1966 |
spite of umask. Fixes <https://github.com/icing/mod_md/issues/117>. [Stefan Eissing] |
| 1967 |
|
| 1968 |
Changes with Apache 2.4.39 |
| 1969 |
|
| 1970 |
*) SECURITY: CVE-2019-0197 (cve.mitre.org) |
| 1971 |
mod_http2: fixes a possible crash when HTTP/2 was enabled for a http: |
| 1972 |
host or H2Upgrade was enabled for h2 on a https: host. An Upgrade |
| 1973 |
request from http/1.1 to http/2 that was not the first request on a |
| 1974 |
connection could lead to a misconfiguration and crash. Servers that |
| 1975 |
never enabled the h2 protocol or only enabled it for https: and |
| 1976 |
did not set "H2Upgrade on" are unaffected by this issue. |
| 1977 |
[Stefan Eissing] |
| 1978 |
|
| 1979 |
*) SECURITY: CVE-2019-0196 (cve.mitre.org) |
| 1980 |
mod_http2: using fuzzed network input, the http/2 request |
| 1981 |
handling could be made to access freed memory in string |
| 1982 |
comparison when determining the method of a request and |
| 1983 |
thus process the request incorrectly. [Stefan Eissing] |
| 1984 |
|
| 1985 |
*) SECURITY: CVE-2019-0211 (cve.mitre.org) |
| 1986 |
MPMs unix: Fix a local privilege escalation vulnerability by not |
| 1987 |
maintaining each child's listener bucket number in the scoreboard, |
| 1988 |
preventing unprivileged code like scripts run by/on the server (e.g. via |
| 1989 |
mod_php) from modifying it persistently to abuse the privileged main |
| 1990 |
process. [Charles Fol <folcharles gmail.com>, Yann Ylavic] |
| 1991 |
|
| 1992 |
*) SECURITY: CVE-2019-0217 (cve.mitre.org) |
| 1993 |
mod_auth_digest: Fix a race condition checking user credentials which |
| 1994 |
could allow a user with valid credentials to impersonate another, |
| 1995 |
under a threaded MPM. PR 63124. [Simon Kappel <simon.kappel axis.com>] |
| 1996 |
|
| 1997 |
*) SECURITY: CVE-2019-0215 (cve.mitre.org) |
| 1998 |
mod_ssl: Fix access control bypass for per-location/per-dir client |
| 1999 |
certificate verification in TLSv1.3. |
| 2000 |
|
| 2001 |
*) SECURITY: CVE-2019-0220 (cve.mitre.org) |
| 2002 |
Merge consecutive slashes in URL's. Opt-out with |
| 2003 |
`MergeSlashes OFF`. [Eric Covener] |
| 2004 |
|
| 2005 |
*) mod_proxy/ssl: Cleanup per-request SSL configuration anytime a backend |
| 2006 |
connection is recycled/reused to avoid a possible crash with some SSLProxy |
| 2007 |
configurations in <Location> or <Proxy> context. PR 63256. [Yann Ylavic] |
| 2008 |
|
| 2009 |
*) mod_log_config: Support %{c}h for conn-hostname, %h for useragent_host |
| 2010 |
PR 55348 |
| 2011 |
|
| 2012 |
*) mod_socache_redis: Support for Redis as socache storage provider. |
| 2013 |
|
| 2014 |
*) core: new configuration option 'MergeSlashes on|off' that controls handling of |
| 2015 |
multiple, consecutive slash ('/') characters in the path component of the request URL. |
| 2016 |
[Eric Covener] |
| 2017 |
|
| 2018 |
*) mod_http2: when SSL renegotiation is inhibited and a 403 ErrorDocument is |
| 2019 |
in play, the proper HTTP/2 stream reset did not trigger with H2_ERR_HTTP_1_1_REQUIRED. |
| 2020 |
Fixed. [Michael Kaufmann] |
| 2021 |
|
| 2022 |
*) mod_http2: new configuration directive: `H2Padding numbits` to control |
| 2023 |
padding of HTTP/2 payload frames. 'numbits' is a number from 0-8, |
| 2024 |
controlling the range of padding bytes added to a frame. The actual number |
| 2025 |
added is chosen randomly per frame. This applies to HEADERS, DATA and PUSH_PROMISE |
| 2026 |
frames equally. The default continues to be 0, e.g. no padding. [Stefan Eissing] |
| 2027 |
|
| 2028 |
*) mod_http2: ripping out all the h2_req_engine internal features now that mod_proxy_http2 |
| 2029 |
has no more need for it. Optional functions are still declared but no longer implemented. |
| 2030 |
While previous mod_proxy_http2 will work with this, it is recommended to run the matching |
| 2031 |
versions of both modules. [Stefan Eissing] |
| 2032 |
|
| 2033 |
*) mod_proxy_http2: changed mod_proxy_http2 implementation and fixed several bugs which |
| 2034 |
resolve PR63170. The proxy module does now a single h2 request on the (reused) |
| 2035 |
connection and returns. [Stefan Eissing] |
| 2036 |
|
| 2037 |
*) mod_http2/mod_proxy_http2: proxy_http2 checks correct master connection aborted status |
| 2038 |
to trigger immediate shutdown of backend connections. This is now always signalled |
| 2039 |
by mod_http2 when the the session is being released. |
| 2040 |
proxy_http2 now only sends a PING frame to the backend when there is not already one |
| 2041 |
in flight. [Stefan Eissing] |
| 2042 |
|
| 2043 |
*) mod_proxy_http2: fixed an issue where a proxy_http2 handler entered an infinite |
| 2044 |
loop when encountering certain errors on the backend connection. |
| 2045 |
See <https://bz.apache.org/bugzilla/show_bug.cgi?id=63170>. [Stefan Eissing] |
| 2046 |
|
| 2047 |
*) mod_http2: Configuration directives H2Push and H2Upgrade can now be specified per |
| 2048 |
Location/Directory, e.g. disabling PUSH for a specific set of resources. [Stefan Eissing] |
| 2049 |
|
| 2050 |
*) mod_http2: HEAD requests to some module such as mod_cgid caused the stream to |
| 2051 |
terminate improperly and cause a HTTP/2 PROTOCOL_ERROR. |
| 2052 |
Fixes <https://github.com/icing/mod_h2/issues/167>. [Michael Kaufmann] |
| 2053 |
|
| 2054 |
*) http: Fix possible empty response with mod_ratelimit for HEAD requests. |
| 2055 |
PR 63192. [Yann Ylavic] |
| 2056 |
|
| 2057 |
*) mod_cache_socache: Avoid reallocations and be safe with outgoing data |
| 2058 |
lifetime. [Yann Ylavic] |
| 2059 |
|
| 2060 |
*) mod_http2: enable re-use of slave connections again. Fixed slave connection |
| 2061 |
keepalives counter. [Stefan Eissing] |
| 2062 |
|
| 2063 |
*) mod_reqtimeout: Allow to configure (TLS-)handshake timeouts. |
| 2064 |
PR 61310. [Yann Ylavic] |
| 2065 |
|
| 2066 |
*) core: Split out the ability to parse wildcard files and directories |
| 2067 |
from the Include/IncludeOptional directives into a generic set of |
| 2068 |
functions ap_dir_nofnmatch() and ap_dir_fnmatch(). [Graham Leggett] |
| 2069 |
|
| 2070 |
*) mod_proxy_wstunnel: Fix websocket proxy over UDS. |
| 2071 |
PR 62932 <pavel dcmsys.com> |
| 2072 |
|
| 2073 |
*) mod_ssl: Don't unset FIPS mode on restart unless it's forced by |
| 2074 |
configuration (SSLFIPS on) and not active by default in OpenSSL. |
| 2075 |
PR 63136. [Yann Ylavic] |
| 2076 |
|
| 2077 |
Changes with Apache 2.4.38 |
| 2078 |
|
| 2079 |
*) SECURITY: CVE-2018-17199 (cve.mitre.org) |
| 2080 |
mod_session: mod_session_cookie does not respect expiry time allowing |
| 2081 |
sessions to be reused. [Hank Ibell] |
| 2082 |
|
| 2083 |
*) SECURITY: CVE-2018-17189 (cve.mitre.org) |
| 2084 |
mod_http2: fixes a DoS attack vector. By sending slow request bodies |
| 2085 |
to resources not consuming them, httpd cleanup code occupies a server |
| 2086 |
thread unnecessarily. This was changed to an immediate stream reset |
| 2087 |
which discards all stream state and incoming data. [Stefan Eissing] |
| 2088 |
|
| 2089 |
*) SECURITY: CVE-2019-0190 (cve.mitre.org) |
| 2090 |
mod_ssl: Fix infinite loop triggered by a client-initiated |
| 2091 |
renegotiation in TLSv1.2 (or earlier) with OpenSSL 1.1.1 and |
| 2092 |
later. PR 63052. [Joe Orton] |
| 2093 |
|
| 2094 |
*) mod_ssl: Clear retry flag before aborting client-initiated renegotiation. |
| 2095 |
PR 63052 [Joe Orton] |
| 2096 |
|
| 2097 |
*) mod_negotiation: Treat LanguagePriority as case-insensitive to match |
| 2098 |
AddLanguage behavior and HTTP specification. PR 39730 [Christophe Jaillet] |
| 2099 |
|
| 2100 |
*) mod_md: incorrect behaviour when synchronizing ongoing ACME challenges |
| 2101 |
have been fixed. [Michael Kaufmann, Stefan Eissing] |
| 2102 |
|
| 2103 |
*) mod_setenvif: We can have expressions that become true if a regex pattern |
| 2104 |
in the expression does NOT match. In this case val is NULL |
| 2105 |
and we should just set the value for the environment variable |
| 2106 |
like in the pattern case. [Ruediger Pluem] |
| 2107 |
|
| 2108 |
*) mod_session: Always decode session attributes early. [Hank Ibell] |
| 2109 |
|
| 2110 |
*) core: Incorrect values for environment variables are substituted when |
| 2111 |
multiple environment variables are specified in a directive. [Hank Ibell] |
| 2112 |
|
| 2113 |
*) mod_rewrite: Only create the global mutex used by "RewriteMap prg:" when |
| 2114 |
this type of map is present in the configuration. PR62311. |
| 2115 |
[Hank Ibell <hwibell gmail.com>] |
| 2116 |
|
| 2117 |
*) mod_dav: Fix invalid Location header when a resource is created by |
| 2118 |
passing an absolute URI on the request line [Jim Jagielski] |
| 2119 |
|
| 2120 |
*) mod_session_cookie: avoid duplicate Set-Cookie header in the response. |
| 2121 |
[Emmanuel Dreyfus <manu@netbsd.org>, Luca Toscano] |
| 2122 |
|
| 2123 |
*) mod_ssl: clear *SSL errors before loading certificates and checking |
| 2124 |
afterwards. Otherwise errors are reported when other SSL using modules |
| 2125 |
are in play. Fixes PR 62880. [Michael Kaufmann] |
| 2126 |
|
| 2127 |
*) mod_ssl: Fix the error code returned in an error path of |
| 2128 |
'ssl_io_filter_handshake()'. This messes-up error handling performed |
| 2129 |
in 'ssl_io_filter_error()' [Yann Ylavic] |
| 2130 |
|
| 2131 |
*) mod_ssl: Fix $HTTPS definition for "SSLEngine optional" case, and fix |
| 2132 |
authz provider so "Require ssl" works correctly in HTTP/2. |
| 2133 |
PR 61519, 62654. [Joe Orton, Stefan Eissing] |
| 2134 |
|
| 2135 |
*) mod_proxy: If ProxyPassReverse is used for reverse mapping of relative |
| 2136 |
redirects, subsequent ProxyPassReverse statements, whether they are |
| 2137 |
relative or absolute, may fail. PR 60408. [Peter Haworth <pmh1wheel gmail.com>] |
| 2138 |
|
| 2139 |
*) mod_lua: Now marked as a stable module [https://s.apache.org/Xnh1] |
| 2140 |
|
| 2141 |
Changes with Apache 2.4.37 |
| 2142 |
|
| 2143 |
*) mod_ssl: Fix HTTP/2 failures when using OpenSSL 1.1.1. [Rainer Jung] |
| 2144 |
|
| 2145 |
*) mod_ssl: Fix crash during SSL renegotiation with OptRenegotiate set, |
| 2146 |
when client certificates are available from the original handshake |
| 2147 |
but were originally not verified and should get verified now. |
| 2148 |
This is a regression in 2.4.36 (unreleased). [Ruediger Pluem] |
| 2149 |
|
| 2150 |
*) mod_ssl: Correctly merge configurations that have client certificates set |
| 2151 |
by SSLProxyMachineCertificate{File|Path}. [Ruediger Pluem] |
| 2152 |
|
| 2153 |
Changes with Apache 2.4.36 |
| 2154 |
|
| 2155 |
*) mod_brotli, mod_deflate: Restore the separate handling of 304 Not Modified |
| 2156 |
responses. Regression introduced in 2.4.35. |
| 2157 |
|
| 2158 |
*) mod_proxy_scgi, mod_proxy_uwsgi: improve error handling when sending the |
| 2159 |
body of the response. [Jim Jagielski] |
| 2160 |
|
| 2161 |
*) mpm_event: Stop issuing AH00484 "server reached MaxRequestWorkers..." when |
| 2162 |
there are still idle threads available. When there are less idle threads than |
| 2163 |
MinSpareThreads, issue new one-time message AH10159. Matches worker MPM. |
| 2164 |
[Eric Covener] |
| 2165 |
|
| 2166 |
*) mod_http2: adding defensive code for stream EOS handling, in case the request handler |
| 2167 |
missed to signal it the normal way (eos buckets). Addresses github issues |
| 2168 |
https://github.com/icing/mod_h2/issues/164, https://github.com/icing/mod_h2/issues/167 |
| 2169 |
and https://github.com/icing/mod_h2/issues/170. [Stefan Eissing] |
| 2170 |
|
| 2171 |
*) ab: Add client certificate support. PR 55774. [Graham Leggett] |
| 2172 |
|
| 2173 |
*) ab: Disable printing temp key for OpenSSL before |
| 2174 |
version 1.0.2. SSL_get_server_tmp_key is not available |
| 2175 |
there. [Rainer Jung] |
| 2176 |
|
| 2177 |
*) mod_ssl: Fix a regression that the configuration settings for verify mode |
| 2178 |
and verify depth were taken from the frontend connection in case of |
| 2179 |
connections by the proxy to the backend. PR 62769. [Ruediger Pluem] |
| 2180 |
|
| 2181 |
*) MPMs: Initialize all runtime/asynchronous objects on a dedicated pool and |
| 2182 |
before signals handling to avoid lifetime issues on restart or shutdown. |
| 2183 |
PR 62658. [Yann Ylavic] |
| 2184 |
|
| 2185 |
*) mod_ssl: Add support for OpenSSL 1.1.1 and TLSv1.3. TLSv1.3 has |
| 2186 |
behavioural changes compared to v1.2 and earlier; client and |
| 2187 |
configuration changes should be expected. SSLCipherSuite is |
| 2188 |
enhanced for TLSv1.3 ciphers, but applies at vhost level only. |
| 2189 |
[Stefan Eissing, Yann Ylavic, Ruediger Pluem, Joe Orton] |
| 2190 |
|
| 2191 |
*) mod_auth_basic: Be less tolerant when parsing the credencial. Only spaces |
| 2192 |
should be accepted after the authorization scheme. \t are also tolerated. |
| 2193 |
[Christophe Jaillet] |
| 2194 |
|
| 2195 |
*) mod_socache_redis: New socache submodule provider to allow use |
| 2196 |
of Redis as storage backend. [Jim Jagielski] |
| 2197 |
|
| 2198 |
*) mod_proxy_hcheck: Fix issues with interval determination. PR 62318 |
| 2199 |
[Jim Jagielski] |
| 2200 |
|
| 2201 |
*) mod_proxy_hcheck: Fix issues with TCP health checks. PR 61499 |
| 2202 |
[Dominik Stillhard <dominik.stillhard united-security-providers.ch>] |
| 2203 |
|
| 2204 |
*) mod_proxy_hcheck: take balancer's SSLProxy* directives into account. |
| 2205 |
[Jim Jagielski] |
| 2206 |
|
| 2207 |
*) mod_status, mod_echo: Fix the display of client addresses. |
| 2208 |
They were truncated to 31 characters which is not enough for IPv6 addresses. |
| 2209 |
This is done by deprecating the use of the 'client' field and using |
| 2210 |
the new 'client64' field in worker_score. |
| 2211 |
PR 54848 [Bernhard Schmidt <berni birkenwald de>, Jim Jagielski] |
| 2212 |
|
| 2213 |
Changes with Apache 2.4.35 |
| 2214 |
|
| 2215 |
*) http: Enforce consistently no response body with both 204 and 304 |
| 2216 |
statuses. [Yann Ylavic] |
| 2217 |
|
| 2218 |
*) mod_status: Cumulate CPU time of exited child processes in the |
| 2219 |
"cu" and "cs" values. Add CPU time of the parent process to the |
| 2220 |
"c" and "s" values. |
| 2221 |
[Rainer Jung] |
| 2222 |
|
| 2223 |
*) mod_proxy: Improve the balancer member data shown in mod_status when |
| 2224 |
"ProxyStatus" is "On": add "busy" count and show byte counts in |
| 2225 |
auto mode always in units of kilobytes. [Rainer Jung] |
| 2226 |
|
| 2227 |
*) mod_status: Add cumulated response duration time in milliseconds. |
| 2228 |
[Rainer Jung] |
| 2229 |
|
| 2230 |
*) mod_status: Complete the data shown for async MPMs in "auto" mode. |
| 2231 |
Added number of processes, number of stopping processes and number |
| 2232 |
of busy and idle workers. [Rainer Jung] |
| 2233 |
|
| 2234 |
*) mod_ratelimit: Don't interfere with "chunked" encoding, fixing regression |
| 2235 |
introduced in 2.4.34. PR 62568. [Yann Ylavic] |
| 2236 |
|
| 2237 |
*) mod_proxy: Remove load order and link dependency between mod_lbmethod_* |
| 2238 |
modules and mod_proxy. PR 62557. [Ruediger Pluem, William Rowe] |
| 2239 |
|
| 2240 |
*) Allow the argument to <IfFile>, <IfDefine>, <IfSection>, <IfDirective>, |
| 2241 |
and <IfModule> to be quoted. This is primarily for the benefit of |
| 2242 |
<IfFile>. [Eric Covener] |
| 2243 |
|
| 2244 |
*) mod_watchdog: Correct some log messages. [Rainer Jung] |
| 2245 |
|
| 2246 |
*) mod_md: When the last domain name from an MD is moved to another one, |
| 2247 |
that now empty MD gets moved to the store archive. PR 62572. |
| 2248 |
[Stefan Eissing] |
| 2249 |
|
| 2250 |
*) mod_ssl: Fix merging of SSLOCSPOverrideResponder. [Jeff Trawick, |
| 2251 |
[Frank Meier <frank meier ergon.ch>] |
| 2252 |
|
| 2253 |
*) mod_proxy_balancer: Restore compatibility with APR 1.4. [Joe Orton] |
| 2254 |
|
| 2255 |
Changes with Apache 2.4.34 |
| 2256 |
|
| 2257 |
*) SECURITY: CVE-2018-8011 (cve.mitre.org) |
| 2258 |
mod_md: DoS via Coredumps on specially crafted requests |
| 2259 |
|
| 2260 |
*) SECURITY: CVE-2018-1333 (cve.mitre.org) |
| 2261 |
mod_http2: DoS for HTTP/2 connections by specially crafted requests |
| 2262 |
|
| 2263 |
*) Introduce zh-cn and zh-tw (simplified and traditional Chinese) error |
| 2264 |
document translations. [CodeingBoy, popcorner] |
| 2265 |
|
| 2266 |
*) event: avoid possible race conditions with modules on the child pool. |
| 2267 |
[Stefan Fritsch] |
| 2268 |
|
| 2269 |
*) mod_proxy: Fix a corner case where the ProxyPassReverseCookieDomain or |
| 2270 |
ProxyPassReverseCookiePath directive could fail to update correctly |
| 2271 |
'domain=' or 'path=' in the 'Set-Cookie' header. PR 61560. |
| 2272 |
[Christophe Jaillet] |
| 2273 |
|
| 2274 |
*) mod_ratelimit: fix behavior when proxing content. PR 62362. |
| 2275 |
[Luca Toscano, Yann Ylavic] |
| 2276 |
|
| 2277 |
*) core: Re-allow '_' (underscore) in hostnames. |
| 2278 |
[Eric Covener] |
| 2279 |
|
| 2280 |
*) mod_authz_core: If several parameters are used in a AuthzProviderAlias |
| 2281 |
directive, if these parameters are not enclosed in quotation mark, only |
| 2282 |
the first one is handled. The other ones are silently ignored. |
| 2283 |
Add a message to warn about such a spurious configuration. |
| 2284 |
PR 62469 [Hank Ibell <hwibell gmail.com>, Christophe Jaillet] |
| 2285 |
|
| 2286 |
*) mod_md: improvements and bugfixes |
| 2287 |
- MDNotifyCmd now takes additional parameter that are passed on to the called command. |
| 2288 |
- ACME challenges have better checks for interference with other modules |
| 2289 |
- ACME challenges are only handled for domains managed by the module, allowing |
| 2290 |
other ACME clients to operate for other domains in the server. |
| 2291 |
- better libressl integration |
| 2292 |
|
| 2293 |
*) mod_proxy_wstunnel: Add default schema ports for 'ws' and 'wss'. |
| 2294 |
PR 62480. [Lubos Uhliarik <luhliari redhat.com>} |
| 2295 |
|
| 2296 |
*) logging: Some early logging-related startup messages could be lost |
| 2297 |
when using syslog for the global ErrorLog. [Eric Covener] |
| 2298 |
|
| 2299 |
*) mod_cache: Handle case of an invalid Expires header value RFC compliant |
| 2300 |
like the case of an Expires time in the past: allow to overwrite the |
| 2301 |
non-caching decision using CacheStoreExpired and respect Cache-Control |
| 2302 |
"max-age" and "s-maxage". [Rainer Jung] |
| 2303 |
|
| 2304 |
*) mod_xml2enc: Fix forwarding of error metadata/responses. PR 62180. |
| 2305 |
[Micha Lenk <micha lenk.info>, Yann Ylavic] |
| 2306 |
|
| 2307 |
*) mod_proxy_http: Fix response header thrown away after the previous one |
| 2308 |
was considered too large and truncated. PR 62196. [Yann Ylavic] |
| 2309 |
|
| 2310 |
*) core: Add and handle AP_GETLINE_NOSPC_EOL flag for ap_getline() family |
| 2311 |
of functions to consume the end of line when the buffer is exhausted. |
| 2312 |
PR 62198. [Yann Ylavic] |
| 2313 |
|
| 2314 |
*) mod_proxy_http: Add new worker parameter 'responsefieldsize' to |
| 2315 |
allow maximum HTTP response header size to be increased past 8192 |
| 2316 |
bytes. PR 62199. [Hank Ibell <hwibell gmail.com>] |
| 2317 |
|
| 2318 |
*) mod_ssl: Extend SSLOCSPEnable with mode 'leaf' that only checks the leaf |
| 2319 |
of a certificate chain. PR62112. |
| 2320 |
[Ricardo Martin Camarero <rickyepoderi yahoo.es>] |
| 2321 |
|
| 2322 |
*) http: Fix small memory leak per request when handling persistent |
| 2323 |
connections. [Ruediger Pluem, Joe Orton] |
| 2324 |
|
| 2325 |
*) mod_proxy_html: Fix variable interpolation and memory allocation failure |
| 2326 |
in ProxyHTMLURLMap. PR 62344. [Ewald Dieterich <ewald mailbox.org>] |
| 2327 |
|
| 2328 |
*) mod_remoteip: Fix RemoteIP{Trusted,Internal}ProxyList loading broken by 2.4.30. |
| 2329 |
PR 62220. [Chritophe Jaillet, Yann Ylavic] |
| 2330 |
|
| 2331 |
*) mod_remoteip: When overriding the useragent address from X-Forwarded-For, |
| 2332 |
zero out what had been initialized as the connection-level port. PR59931. |
| 2333 |
[Hank Ibell <hwibell gmail.com>] |
| 2334 |
|
| 2335 |
*) core: In ONE_PROCESS/debug mode, cleanup everything when exiting. |
| 2336 |
[Yann Ylavic] |
| 2337 |
|
| 2338 |
*) mod_proxy_balancer: Add hot spare member type and corresponding flag (R). |
| 2339 |
Hot spare members are used as drop-in replacements for unusable workers |
| 2340 |
in the same load balancer set. This differs from hot standbys which are |
| 2341 |
only used when all workers in a set are unusable. PR 61140. [Jim Riggs] |
| 2342 |
|
| 2343 |
*) suexec: Add --enable-suexec-capabilites support on Linux, to use |
| 2344 |
setuid/setgid capability bits rather than a setuid root binary. |
| 2345 |
[Joe Orton] |
| 2346 |
|
| 2347 |
*) suexec: Add support for logging to syslog as an alternative to |
| 2348 |
logging to a file; use --without-suexec-logfile --with-suexec-syslog. |
| 2349 |
[Joe Orton] |
| 2350 |
|
| 2351 |
*) mod_ssl: Restore 2.4.29 behaviour in SSL vhost merging/enabling |
| 2352 |
which broke some rare but previously-working configs. [Joe Orton] |
| 2353 |
|
| 2354 |
*) core, log: improve sanity checks for the ErrorLog's syslog config, and |
| 2355 |
explicitly allow only lowercase 'syslog' settings. PR 62102 |
| 2356 |
[Luca Toscano, Jim Riggs, Christophe Jaillet] |
| 2357 |
|
| 2358 |
*) mod_http2: accurate reporting of h2 data input/output per request via |
| 2359 |
mod_logio. Fixes an issue where output sizes where counted n-times on |
| 2360 |
reused slave connections. [Stefan Eissing] |
| 2361 |
See github issue: https://github.com/icing/mod_h2/issues/158 |
| 2362 |
|
| 2363 |
*) mod_http2: Fix unnecessary timeout waits in case streams are aborted. |
| 2364 |
[Stefan Eissing] |
| 2365 |
|
| 2366 |
*) mod_http2: restoring the v1.10.16 keepalive timeout behaviour of mod_http2. |
| 2367 |
[Stefan Eissing] |
| 2368 |
|
| 2369 |
*) mod_proxy: Do not restrict the maximum pool size for backend connections |
| 2370 |
any longer by the maximum number of threads per process and use a better |
| 2371 |
default if mod_http2 is loaded. |
| 2372 |
[Yann Ylavic, Ruediger Pluem, Stefan Eissing, Gregg Smith] |
| 2373 |
|
| 2374 |
*) mod_slotmem_shm: Add generation number to shm filename to fix races |
| 2375 |
with graceful restarts. PRs 62044 and 62308. [Jim Jagielski, Yann Ylavic] |
| 2376 |
|
| 2377 |
*) core: Preserve the original HTTP request method in the '%<m' LogFormat |
| 2378 |
when an path-based ErrorDocument is used. PR 62186. |
| 2379 |
[Micha Lenk <micha lenk.info>] |
| 2380 |
|
| 2381 |
*) mod_remoteip: make proxy-protocol work on slave connections, e.g. in |
| 2382 |
HTTP/2 requests. [Stefan Eissing] |
| 2383 |
See also https://github.com/roadrunner2/mod-proxy-protocol/issues/6 |
| 2384 |
|
| 2385 |
*) mod_ssl: Fix merging of proxy SSL context outside <Proxy> sections, |
| 2386 |
regression introduced in 2.4.30. PR 62232. [Rainer Jung, Yann Ylavic] |
| 2387 |
|
| 2388 |
*) mod_md: Fix compilation with OpenSSL before version 1.0.2. [Rainer Jung] |
| 2389 |
|
| 2390 |
*) mod_dumpio: do nothing below log level TRACE7. [Yann Ylavic] |
| 2391 |
|
| 2392 |
*) mod_remoteip: Restore compatibility with APR 1.4 (apr_sockaddr_is_wildcard). |
| 2393 |
[Eric Covener] |
| 2394 |
|
| 2395 |
*) core: On ECBDIC platforms, some errors related to oversized headers |
| 2396 |
may be misreported or be logged as ASCII escapes. PR 62200 |
| 2397 |
[Hank Ibell <hwibell gmail.com>] |
| 2398 |
|
| 2399 |
*) mod_ssl: Fix cmake-based build. PR 62266. [Rainer Jung] |
| 2400 |
|
| 2401 |
*) core: Add <IfFile>, <IfDirective> and <IfSection> conditional |
| 2402 |
section containers. [Eric Covener, Joe Orton] |
| 2403 |
|
| 2404 |
*) rotatelogs: Add -D option to create parent directories. PR 46669. |
| 2405 |
[Philippe Lantin <plantin cobaltgroup.com>, Ben Reser, Rainer Jung] |
| 2406 |
|
| 2407 |
Changes with Apache 2.4.33 |
| 2408 |
|
| 2409 |
*) core: Fix request timeout logging and possible crash for error_log hooks. |
| 2410 |
[Yann Ylavic] |
| 2411 |
|
| 2412 |
*) mod_slomem_shm: Fix failure to create balancers's slotmems in Windows MPM, |
| 2413 |
where children processes need to attach them instead since they are owned |
| 2414 |
by the parent process already. [Yann Ylavic] |
| 2415 |
|
| 2416 |
*) ab: try all destination socket addresses returned by |
| 2417 |
apr_sockaddr_info_get instead of failing on first one when not available. |
| 2418 |
Needed for instance if localhost resolves to both ::1 and 127.0.0.1 |
| 2419 |
e.g. if both are in /etc/hosts. [Jan Kaluza] |
| 2420 |
|
| 2421 |
*) ab: Use only one connection to determine working destination socket |
| 2422 |
address. [Jan Kaluza] |
| 2423 |
|
| 2424 |
*) ab: LibreSSL doesn't have or require Windows applink.c. [Gregg L. Smith] |
| 2425 |
|
| 2426 |
*) htpasswd/htdigest: Disable support for bcrypt on EBCDIC platforms. |
| 2427 |
apr-util's bcrypt implementation doesn't tolerate EBCDIC. [Eric Covener] |
| 2428 |
|
| 2429 |
*) htpasswd/htdbm: report the right limit when get_password() overflows. |
| 2430 |
[Yann Ylavic] |
| 2431 |
|
| 2432 |
*) htpasswd: Don't fail in -v mode if password file is unwritable. |
| 2433 |
PR 61631. [Joe Orton] |
| 2434 |
|
| 2435 |
*) htpasswd: don't point to (unused) stack memory on output |
| 2436 |
to make static analysers happy. PR 60634. |
| 2437 |
[Yann Ylavic, reported by shqking and Zhenwei Zou] |
| 2438 |
|
| 2439 |
Changes with Apache 2.4.32 |
| 2440 |
|
| 2441 |
*) mod_access_compat: Fail if a comment is found in an Allow or Deny |
| 2442 |
directive. [Jan Kaluza] |
| 2443 |
|
| 2444 |
*) mod_authz_host: Ignore comments after "Require host", logging a |
| 2445 |
warning, or logging an error if the line is otherwise empty. |
| 2446 |
[Jan Kaluza, Joe Orton] |
| 2447 |
|
| 2448 |
*) rotatelogs: Fix expansion of %Z in localtime (-l) mode, and fix |
| 2449 |
Y2K38 bug. [Joe Orton] |
| 2450 |
|
| 2451 |
*) mod_ssl: Support SSL DN raw variable extraction without conversion |
| 2452 |
to UTF-8, using _RAW suffix on variable names. [Joe Orton] |
| 2453 |
|
| 2454 |
*) ab: Fix https:// connection failures (regression in 2.4.30); fix |
| 2455 |
crash generating CSV output for large -n. [Joe Orton, Jan Kaluza] |
| 2456 |
|
| 2457 |
Changes with Apache 2.4.31 (not released) |
| 2458 |
|
| 2459 |
*) mod_proxy_fcgi: Add the support for mod_proxy's flushpackets and flushwait |
| 2460 |
parameters. [Luca Toscano, Ruediger Pluem, Yann Ylavic] |
| 2461 |
|
| 2462 |
*) mod_ldap: Avoid possible crashes, hangs, and busy loops due to |
| 2463 |
improper merging of the cache lock in vhost config. |
| 2464 |
PR 43164 [Eric Covener] |
| 2465 |
|
| 2466 |
*) mpm_event: Do lingering close in worker(s). [Yann Ylavic] |
| 2467 |
|
| 2468 |
*) mpm_queue: Put fdqueue code in common for MPMs event and worker. |
| 2469 |
[Yann Ylavic] |
| 2470 |
|
| 2471 |
Changes with Apache 2.4.30 (not released) |
| 2472 |
|
| 2473 |
*) SECURITY: CVE-2017-15710 (cve.mitre.org) |
| 2474 |
Out of bound write in mod_authnz_ldap with AuthLDAPCharsetConfig enabled |
| 2475 |
[Eric Covener, Luca Toscano, Yann Ylavic] |
| 2476 |
|
| 2477 |
*) SECURITY: CVE-2018-1283 (cve.mitre.org) |
| 2478 |
mod_session: CGI-like applications that intend to read from mod_session's |
| 2479 |
'SessionEnv ON' could be fooled into reading user-supplied data instead. |
| 2480 |
[Yann Ylavic] |
| 2481 |
|
| 2482 |
*) SECURITY: CVE-2018-1303 (cve.mitre.org) |
| 2483 |
mod_cache_socache: Fix request headers parsing to avoid a possible crash |
| 2484 |
with specially crafted input data. [Ruediger Pluem] |
| 2485 |
|
| 2486 |
*) SECURITY: CVE-2018-1301 (cve.mitre.org) |
| 2487 |
core: Possible crash with excessively long HTTP request headers. |
| 2488 |
Impractical to exploit with a production build and production LogLevel. |
| 2489 |
[Yann Ylavic] |
| 2490 |
|
| 2491 |
*) SECURITY: CVE-2017-15715 (cve.mitre.org) |
| 2492 |
core: Configure the regular expression engine to match '$' to the end of |
| 2493 |
the input string only, excluding matching the end of any embedded |
| 2494 |
newline characters. Behavior can be changed with new directive |
| 2495 |
'RegexDefaultOptions'. [Yann Ylavic] |
| 2496 |
|
| 2497 |
*) SECURITY: CVE-2018-1312 (cve.mitre.org) |
| 2498 |
mod_auth_digest: Fix generation of nonce values to prevent replay |
| 2499 |
attacks across servers using a common Digest domain. This change |
| 2500 |
may cause problems if used with round robin load balancers. PR 54637 |
| 2501 |
[Stefan Fritsch] |
| 2502 |
|
| 2503 |
*) SECURITY: CVE-2018-1302 (cve.mitre.org) |
| 2504 |
mod_http2: Potential crash w/ mod_http2. |
| 2505 |
[Stefan Eissing] |
| 2506 |
|
| 2507 |
*) mod_proxy: Provide an RFC1035 compliant version of the hostname in the |
| 2508 |
proxy_worker_shared structure. PR62085 [Graham Leggett] |
| 2509 |
|
| 2510 |
*) mod_proxy: Worker schemes and hostnames which are too large are no |
| 2511 |
longer fatal errors; it is logged and the truncated values are stored. |
| 2512 |
[Jim Jagielski] |
| 2513 |
|
| 2514 |
*) mod_proxy: Allow setting options to globally defined balancer from |
| 2515 |
ProxyPass used in VirtualHost. Balancers are now merged using the new |
| 2516 |
merge_balancers method which merges the balancers options. [Jan Kaluza] |
| 2517 |
|
| 2518 |
*) logresolve: Fix incorrect behavior or segfault if -c flag is used |
| 2519 |
Fixes: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=823259 |
| 2520 |
[Stefan Fritsch] |
| 2521 |
|
| 2522 |
*) mod_remoteip: Add support for PROXY protocol (code donated by Cloudzilla). |
| 2523 |
Add ability for PROXY protocol processing to be optional to donated code. |
| 2524 |
See also: http://www.haproxy.org/download/1.5/doc/proxy-protocol.txt |
| 2525 |
[Cloudzilla/roadrunner2@GitHub, Jim Jagielski, Daniel Ruggeri] |
| 2526 |
|
| 2527 |
*) mod_proxy, mod_ssl: Handle SSLProxy* directives in <Proxy> sections, |
| 2528 |
allowing per backend TLS configuration. [Yann Ylavic] |
| 2529 |
|
| 2530 |
*) mod_proxy_uwsgi: Add in UWSGI proxy (sub)module. [Roberto De Ioris, |
| 2531 |
Jim Jagielski] |
| 2532 |
|
| 2533 |
*) mod_proxy_balancer,mod_slotmem_shm: Rework SHM reuse/deletion to not |
| 2534 |
depend on the number of restarts (non-Unix systems) and preserve shared |
| 2535 |
names as much as possible on configuration changes for SHMs and persisted |
| 2536 |
files. PR 62044. [Yann Ylavic, Jim Jagielski] |
| 2537 |
|
| 2538 |
*) mod_http2: obsolete code removed, no more events on beam pool destruction, |
| 2539 |
discourage content encoders on http2-status response (where they do not work). |
| 2540 |
[Stefan Eissing] |
| 2541 |
|
| 2542 |
*) mpm_event: Let the listener thread do its maintenance job on resources |
| 2543 |
shortage. PR 61979. [Yann Ylavic] |
| 2544 |
|
| 2545 |
*) mpm_event: Wakeup the listener to re-enable listening sockets. |
| 2546 |
[Yann Ylavic] |
| 2547 |
|
| 2548 |
*) mod_ssl: The SSLCompression directive will now give an error if used |
| 2549 |
with an OpenSSL build which does not support any compression methods. |
| 2550 |
[Joe Orton] |
| 2551 |
|
| 2552 |
*) mpm_event,worker: Mask signals for threads created by modules in child |
| 2553 |
init, so that they don't receive (implicitly) the ones meant for the MPM. |
| 2554 |
PR 62009. [Armin Abfalterer <a.abfalterer gmail com>, Yann Ylavic] |
| 2555 |
|
| 2556 |
*) mod_md: new experimental, module for managing domains across virtual hosts, |
| 2557 |
implementing the Let's Encrypt ACMEv1 protocol to signup and renew |
| 2558 |
certificates. Please read the modules documentation for further instructions |
| 2559 |
on how to use it. [Stefan Eissing] |
| 2560 |
|
| 2561 |
*) mod_proxy_html: skip documents shorter than 4 bytes |
| 2562 |
PR 56286 [Micha Lenk <micha lenk info>] |
| 2563 |
|
| 2564 |
*) core, mpm_event: Avoid a small memory leak of the scoreboard handle, for |
| 2565 |
the lifetime of the connection, each time it is processed by MPM event. |
| 2566 |
[Yann Ylavic] |
| 2567 |
|
| 2568 |
*) mpm_event: Update scoreboard status for KeepAlive state. [Yann Ylavic] |
| 2569 |
|
| 2570 |
*) mod_ldap: Fix a case where a full LDAP cache would continually fail to |
| 2571 |
purge old entries and log AH01323. PR61891. |
| 2572 |
[Hendrik Harms <hendrik.harms gmail.com>] |
| 2573 |
|
| 2574 |
*) mpm_event: close connections not reported as handled by any module to |
| 2575 |
avoid losing track of them and leaking scoreboard entries. PR 61551. |
| 2576 |
[Yann Ylavic] |
| 2577 |
|
| 2578 |
*) core: A signal received while stopping could have crashed the main |
| 2579 |
process. PR 61558. [Yann Ylavic] |
| 2580 |
|
| 2581 |
*) mod_ssl: support for mod_md added. [Stefan Eissing] |
| 2582 |
|
| 2583 |
*) mod_proxy_html: process parsed comments immediately. |
| 2584 |
Fixes bug (seen in the wild when used with IBM's HTTPD bundle) |
| 2585 |
where parsed comments may be lost. [Nick Kew] |
| 2586 |
|
| 2587 |
*) mod_proxy_html: introduce doctype for HTML 5 [Nick Kew] |
| 2588 |
|
| 2589 |
*) mod_proxy_html: fix typo-bug processing "strict" vs "transitional" |
| 2590 |
HTML/XHTML. PR 56457 [Nick Kew] |
| 2591 |
|
| 2592 |
*) mpm_event: avoid a very unlikely race condition between the listener and |
| 2593 |
the workers when the latter fails to add a connection to the pollset. |
| 2594 |
[Yann Ylavic] |
| 2595 |
|
| 2596 |
*) core: silently ignore a not existent file path when IncludeOptional |
| 2597 |
is used. PR 57585. [Alberto Murillo Silva <powerbsd yahoo.com>, Luca Toscano] |
| 2598 |
|
| 2599 |
*) mod_macro: fix usability of globally defined macros in .htaccess files. |
| 2600 |
PR 57525. [Jose Kahan <jose w3.org>, Yann Ylavic] |
| 2601 |
|
| 2602 |
*) mod_rewrite, core: add the Vary header when a condition evaluates to true |
| 2603 |
and the related RewriteRule is used in a Directory context |
| 2604 |
(triggering an internal redirect). [Luca Toscano] |
| 2605 |
|
| 2606 |
*) ab: Make the TLS layer aware that the underlying socket is nonblocking, |
| 2607 |
and use/handle POLLOUT where needed to avoid busy IOs and recover write |
| 2608 |
errors when appropriate. [Yann Ylavic] |
| 2609 |
|
| 2610 |
*) ab: Keep reading nonblocking to exhaust TCP or SSL buffers when previous |
| 2611 |
read was incomplete (the SSL case can cause the next poll() to timeout |
| 2612 |
since data are buffered already). PR 61301 [Luca Toscano, Yann Ylavic] |
| 2613 |
|
| 2614 |
*) mod_http2: avoid unnecessary data retrieval for a trace log. Allow certain |
| 2615 |
information retrievals on null bucket beams where it makes sense. [Stefan Eissing] |
| 2616 |
|
| 2617 |
Changes with Apache 2.4.29 |
| 2618 |
|
| 2619 |
*) mod_unique_id: Use output of the PRNG rather than IP address and |
| 2620 |
pid, avoiding sleep() call and possible DNS issues at startup, |
| 2621 |
plus improving randomness for IPv6-only hosts. [Jan Kaluza] |
| 2622 |
|
| 2623 |
*) mod_rewrite, core: Avoid the 'Vary: Host' response header when HTTP_HOST |
| 2624 |
is used in a condition that evaluates to true. PR 58231 [Luca Toscano, Yann Ylavic] |
| 2625 |
|
| 2626 |
*) mod_http2: v0.10.12, removed optimization for mutex handling in bucket |
| 2627 |
beams that could lead to assertion failure in edge cases. |
| 2628 |
[Stefan Eissing] |
| 2629 |
|
| 2630 |
*) mod_proxy: Fix regression for non decimal loadfactor parameter introduced |
| 2631 |
in 2.4.28. [Jim Jagielski] |
| 2632 |
|
| 2633 |
*) mod_authz_dbd: fix a segmentation fault if AuthzDBDQuery is not set. |
| 2634 |
PR 61546. [Lubos Uhliarik <luhliari redhat.com>] |
| 2635 |
|
| 2636 |
*) mod_rewrite: Add support for starting External Rewriting Programs |
| 2637 |
as non-root user on UNIX systems by specifying username and group |
| 2638 |
name as third argument of RewriteMap directive. [Jan Kaluza] |
| 2639 |
|
| 2640 |
*) core: Rewrite the Content-Length filter to avoid excessive memory |
| 2641 |
consumption. Chunked responses will be generated in more cases |
| 2642 |
than in previous releases. PR 61222. [Joe Orton, Ruediger Pluem] |
| 2643 |
|
| 2644 |
*) mod_ssl: Fix SessionTicket callback return value, which does seem to |
| 2645 |
matter with OpenSSL 1.1. [Yann Ylavic] |
| 2646 |
|
| 2647 |
Changes with Apache 2.4.28 |
| 2648 |
|
| 2649 |
*) SECURITY: CVE-2017-9798 (cve.mitre.org) |
| 2650 |
Corrupted or freed memory access. <Limit[Except]> must now be used in the |
| 2651 |
main configuration file (httpd.conf) to register HTTP methods before the |
| 2652 |
.htaccess files. [Yann Ylavic] |
| 2653 |
|
| 2654 |
*) event: Avoid possible blocking in the listener thread when shutting down |
| 2655 |
connections. PR 60956. [Yann Ylavic] |
| 2656 |
|
| 2657 |
*) mod_speling: Don't embed referer data in a link in error page. |
| 2658 |
PR 38923 [Nick Kew] |
| 2659 |
|
| 2660 |
*) htdigest: prevent a buffer overflow when a string exceeds the allowed max |
| 2661 |
length in a password file. PR 61511. |
| 2662 |
[Luca Toscano, Hanno Böck <hanno hboeck de>] |
| 2663 |
|
| 2664 |
*) mod_proxy: loadfactor parameter can now be a decimal number (eg: 1.25). |
| 2665 |
[Jim Jagielski] |
| 2666 |
|
| 2667 |
*) mod_proxy_wstunnel: Allow upgrade to any protocol dynamically. |
| 2668 |
PR 61142. |
| 2669 |
|
| 2670 |
*) mod_watchdog/mod_proxy_hcheck: Time intervals can now be specified |
| 2671 |
down to the millisecond. Supports 'mi' (minute), 'ms' (millisecond), |
| 2672 |
's' (second) and 'hr' (hour!) time suffixes. [Jim Jagielski] |
| 2673 |
|
| 2674 |
*) mod_http2: Fix for stalling when more than 32KB are written to a |
| 2675 |
suspended stream. [Stefan Eissing] |
| 2676 |
|
| 2677 |
*) build: allow configuration without APR sources. [Jacob Champion] |
| 2678 |
|
| 2679 |
*) mod_ssl, ab: Fix compatibility with LibreSSL. PR 61184. |
| 2680 |
[Bernard Spil <brnrd freebsd.org>, Michael Schlenker <msc contact.de>, |
| 2681 |
Yann Ylavic] |
| 2682 |
|
| 2683 |
*) core/log: Support use of optional "tag" in syslog entries. |
| 2684 |
PR 60525. [Ben Rubson <ben.rubson gmail.com>, Jim Jagielski] |
| 2685 |
|
| 2686 |
*) mod_proxy: Fix ProxyAddHeaders merging. [Joe Orton] |
| 2687 |
|
| 2688 |
*) core: Disallow multiple Listen on the same IP:port when listener buckets |
| 2689 |
are configured (ListenCoresBucketsRatio > 0), consistently with the single |
| 2690 |
bucket case (default), thus avoiding the leak of the corresponding socket |
| 2691 |
descriptors on graceful restart. [Yann Ylavic] |
| 2692 |
|
| 2693 |
*) event: Avoid listener periodic wake ups by using the pollset wake-ability |
| 2694 |
when available. PR 57399. [Yann Ylavic, Luca Toscano] |
| 2695 |
|
| 2696 |
*) mod_proxy_wstunnel: Fix detection of unresponded request which could have |
| 2697 |
led to spurious HTTP 502 error messages sent on upgrade connections. |
| 2698 |
PR 61283. [Yann Ylavic] |
| 2699 |
|
| 2700 |
Changes with Apache 2.4.27 |
| 2701 |
|
| 2702 |
*) SECURITY: CVE-2017-9789 (cve.mitre.org) |
| 2703 |
mod_http2: Read after free. When under stress, closing many connections, |
| 2704 |
the HTTP/2 handling code would sometimes access memory after it has been |
| 2705 |
freed, resulting in potentially erratic behaviour. |
| 2706 |
[Stefan Eissing] |
| 2707 |
|
| 2708 |
*) SECURITY: CVE-2017-9788 (cve.mitre.org) |
| 2709 |
mod_auth_digest: Uninitialized memory reflection. The value placeholder |
| 2710 |
in [Proxy-]Authorization headers type 'Digest' was not initialized or |
| 2711 |
reset before or between successive key=value assignments. |
| 2712 |
[William Rowe] |
| 2713 |
|
| 2714 |
*) COMPATIBILITY: mod_lua: Remove the undocumented exported 'apr_table' |
| 2715 |
global variable when using Lua 5.2 or later. This was exported as a |
| 2716 |
side effect from luaL_register, which is no longer supported as of |
| 2717 |
Lua 5.2 which deprecates pollution of the global namespace. |
| 2718 |
[Rainer Jung] |
| 2719 |
|
| 2720 |
*) COMPATIBILITY: mod_http2: Disable and give warning when using Prefork. |
| 2721 |
The server will continue to run, but HTTP/2 will no longer be negotiated. |
| 2722 |
[Stefan Eissing] |
| 2723 |
|
| 2724 |
*) COMPATIBILITY: mod_proxy_fcgi: Revert to 2.4.20 FCGI behavior for the |
| 2725 |
default ProxyFCGIBackendType, fixing a regression with PHP-FPM. PR 61202. |
| 2726 |
[Jacob Champion, Jim Jagielski] |
| 2727 |
|
| 2728 |
*) mod_lua: Improve compatibility with Lua 5.1, 5.2 and 5.3. |
| 2729 |
PR58188, PR60831, PR61245. [Rainer Jung] |
| 2730 |
|
| 2731 |
*) mod_http2: Simplify ready queue, less memory and better performance. Update |
| 2732 |
mod_http2 version to 1.10.7. [Stefan Eissing] |
| 2733 |
|
| 2734 |
*) Allow single-char field names inadvertently disallowed in 2.4.25. |
| 2735 |
PR 61220. [Yann Ylavic] |
| 2736 |
|
| 2737 |
*) htpasswd / htdigest: Do not apply the strict permissions of the temporary |
| 2738 |
passwd file to a possibly existing passwd file. PR 61240. [Ruediger Pluem] |
| 2739 |
|
| 2740 |
*) core: Avoid duplicate HEAD in Allow header. |
| 2741 |
This is a regression in 2.4.24 (unreleased), 2.4.25 and 2.4.26. |
| 2742 |
PR 61207. [Christophe Jaillet] |
| 2743 |
|
| 2744 |
Changes with Apache 2.4.26 |
| 2745 |
|
| 2746 |
*) SECURITY: CVE-2017-7679 (cve.mitre.org) |
| 2747 |
mod_mime can read one byte past the end of a buffer when sending a |
| 2748 |
malicious Content-Type response header. [Yann Ylavic] |
| 2749 |
|
| 2750 |
*) SECURITY: CVE-2017-7668 (cve.mitre.org) |
| 2751 |
The HTTP strict parsing changes added in 2.2.32 and 2.4.24 introduced a |
| 2752 |
bug in token list parsing, which allows ap_find_token() to search past |
| 2753 |
the end of its input string. By maliciously crafting a sequence of |
| 2754 |
request headers, an attacker may be able to cause a segmentation fault, |
| 2755 |
or to force ap_find_token() to return an incorrect value. |
| 2756 |
[Jacob Champion] |
| 2757 |
|
| 2758 |
*) SECURITY: CVE-2017-7659 (cve.mitre.org) |
| 2759 |
A maliciously constructed HTTP/2 request could cause mod_http2 to |
| 2760 |
dereference a NULL pointer and crash the server process. |
| 2761 |
|
| 2762 |
*) SECURITY: CVE-2017-3169 (cve.mitre.org) |
| 2763 |
mod_ssl may dereference a NULL pointer when third-party modules call |
| 2764 |
ap_hook_process_connection() during an HTTP request to an HTTPS port. |
| 2765 |
[Yann Ylavic] |
| 2766 |
|
| 2767 |
*) SECURITY: CVE-2017-3167 (cve.mitre.org) |
| 2768 |
Use of the ap_get_basic_auth_pw() by third-party modules outside of the |
| 2769 |
authentication phase may lead to authentication requirements being |
| 2770 |
bypassed. |
| 2771 |
[Emmanuel Dreyfus <manu netbsd.org>, Jacob Champion, Eric Covener] |
| 2772 |
|
| 2773 |
*) HTTP/2 support no longer tagged as "experimental" but is instead considered |
| 2774 |
fully production ready. |
| 2775 |
|
| 2776 |
*) mod_http2: Fix for possible CPU busy loop introduced in v1.10.3 where a stream may keep |
| 2777 |
the session in continuous check for state changes that never happen. |
| 2778 |
[Stefan Eissing] |
| 2779 |
|
| 2780 |
*) mod_proxy_wstunnel: Add "upgrade" parameter to allow upgrade to other |
| 2781 |
protocols. [Jean-Frederic Clere] |
| 2782 |
|
| 2783 |
*) MPMs unix: Place signals handlers and helpers out of DSOs to avoid |
| 2784 |
a possible crash if a signal is caught during (graceful) restart. |
| 2785 |
PR 60487. [Yann Ylavic] |
| 2786 |
|
| 2787 |
*) mod_rewrite: When a substitution is a fully qualified URL, and the |
| 2788 |
scheme/host/port matches the current virtual host, stop interpreting the |
| 2789 |
path component as a local path just because the first component of the |
| 2790 |
path exists in the filesystem. Adds RewriteOption "LegacyPrefixDocRoot" |
| 2791 |
to revert to previous behavior. PR60009. |
| 2792 |
[Hank Ibell <hwibell gmail.com>] |
| 2793 |
|
| 2794 |
*) core: ap_parse_form_data() URL-decoding doesn't work on EBCDIC |
| 2795 |
platforms. PR61124. [Hank Ibell <hwibell gmail.com>] |
| 2796 |
|
| 2797 |
*) ab: enable option processing for setting a custom HTTP method also for |
| 2798 |
non-SSL builds. [Rainer Jung] |
| 2799 |
|
| 2800 |
*) core: EBCDIC fixes for interim responses with additional headers. |
| 2801 |
[Eric Covener] |
| 2802 |
|
| 2803 |
*) mod_env: when processing a 'SetEnv' directive, warn if the environment |
| 2804 |
variable name includes a '='. It is likely a configuration error. |
| 2805 |
PR 60249 [Christophe Jaillet] |
| 2806 |
|
| 2807 |
*) Evaluate nested If/ElseIf/Else configuration blocks. |
| 2808 |
[Luca Toscano, Jacob Champion] |
| 2809 |
|
| 2810 |
*) mod_rewrite: Add 'BNP' (backreferences-no-plus) flag to RewriteRule to |
| 2811 |
allow spaces in backreferences to be encoded as %20 instead of '+'. |
| 2812 |
[Eric Covener] |
| 2813 |
|
| 2814 |
*) mod_rewrite: Add the possibility to limit the escaping to specific |
| 2815 |
characters in backreferences by listing them in the B flag. |
| 2816 |
[Eric Covener] |
| 2817 |
|
| 2818 |
*) mod_substitute: Fix spurious AH01328 (Line too long) errors on EBCDIC |
| 2819 |
systems. [Eric Covener] |
| 2820 |
|
| 2821 |
*) mod_http2: fail requests without ERROR log in case we need to read interim |
| 2822 |
responses and see only garbage. This can happen if proxied servers send |
| 2823 |
data where none should be, e.g. a body for a HEAD request. [Stefan Eissing] |
| 2824 |
|
| 2825 |
*) mod_proxy_http2: adding support for Reverse Proxy Request headers. |
| 2826 |
[Stefan Eissing] |
| 2827 |
|
| 2828 |
*) mod_http2: fixed possible deadlock that could occur when connections were |
| 2829 |
terminated early with ongoing streams. Fixed possible hanger with timeout |
| 2830 |
on race when connection considers itself idle. [Stefan Eissing] |
| 2831 |
|
| 2832 |
*) mod_http2: MaxKeepAliveRequests now limits the number of times a |
| 2833 |
slave connection gets reused. [Stefan Eissing] |
| 2834 |
|
| 2835 |
*) mod_brotli: Add a new module for dynamic Brotli (RFC 7932) compression. |
| 2836 |
[Evgeny Kotkov] |
| 2837 |
|
| 2838 |
*) mod_proxy_http2: Fixed bug in re-attempting proxy requests after |
| 2839 |
connection error. Reliability of reconnect handling improved. |
| 2840 |
[Stefan Eissing] |
| 2841 |
|
| 2842 |
*) mod_http2: better performance, eliminated need for nested locks and |
| 2843 |
thread privates. Moving request setups from the main connection to the |
| 2844 |
worker threads. Increase number of spare connections kept. |
| 2845 |
[Stefan Eissing] |
| 2846 |
|
| 2847 |
*) mod_http2: input buffering and dynamic flow windows for increased |
| 2848 |
throughput. Requires nghttp2 >= v1.5.0 features. Announced at startup |
| 2849 |
in mod_http2 INFO log as feature 'DWINS'. [Stefan Eissing] |
| 2850 |
|
| 2851 |
*) mod_http2: h2 workers with improved scalability for better scheduling |
| 2852 |
performance. There are H2MaxWorkers threads created at start and the |
| 2853 |
number is kept constant for now. [Stefan Eissing] |
| 2854 |
|
| 2855 |
*) mod_http2: obsoleted option H2SessionExtraFiles, will be ignored and |
| 2856 |
just log a warning. [Stefan Eissing] |
| 2857 |
|
| 2858 |
*) mod_autoindex: Add IndexOptions UseOldDateFormat to allow the date |
| 2859 |
format from 2.2 in the Last Modified column. PR60846. |
| 2860 |
[Hank Ibell <hwibell gmail.com>] |
| 2861 |
|
| 2862 |
*) core: Add %{REMOTE_PORT} to the expression parser. PR59938 |
| 2863 |
[Hank Ibell <hwibell gmail.com>] |
| 2864 |
|
| 2865 |
*) mod_cache: Fix a regression in 2.4.25 for the forward proxy case by |
| 2866 |
computing and using the same entity key according to when the cache |
| 2867 |
checks, loads and saves the request. |
| 2868 |
PR 60577. [Yann Ylavic] |
| 2869 |
|
| 2870 |
*) mod_proxy_hcheck: Don't validate timed out responses. [Yann Ylavic] |
| 2871 |
|
| 2872 |
*) mod_proxy_hcheck: Ensure thread-safety when concurrent healthchecks are |
| 2873 |
in use (ProxyHCTPsize > 0). PR 60071. [Yann Ylavic, Jim Jagielski] |
| 2874 |
|
| 2875 |
*) core: %{DOCUMENT_URI} used in nested SSI expressions should point to the |
| 2876 |
URI originally requested by the user, not the nested documents URI. This |
| 2877 |
restores the behavior of this variable to match the "legacy" SSI parser. |
| 2878 |
PR60624. [Hank Ibell <hwibell gmail.com>] |
| 2879 |
|
| 2880 |
*) mod_proxy_fcgi: Add ProxyFCGISetEnvIf to fixup CGI environment |
| 2881 |
variables just before invoking the FastCGI. [Eric Covener, |
| 2882 |
Jacob Champion] |
| 2883 |
|
| 2884 |
*) mod_proxy_fcgi: Return to 2.4.20-and-earlier behavior of leaving |
| 2885 |
a "proxy:fcgi://" prefix in the SCRIPT_FILENAME environment variable by |
| 2886 |
default. Add ProxyFCGIBackendType to allow the type of backend to be |
| 2887 |
specified so these kinds of fixups can be restored without impacting |
| 2888 |
FPM. PR60576 [Eric Covener, Jim Jagielski] |
| 2889 |
|
| 2890 |
*) mod_ssl: work around leaks on (graceful) restart. [Yann Ylavic] |
| 2891 |
|
| 2892 |
*) mod_ssl: Add support for OpenSSL 1.1.0. [Rainer Jung] |
| 2893 |
|
| 2894 |
*) Don't set SO_REUSEPORT unless ListenCoresBucketsRatio is greater |
| 2895 |
than zero. [Eric Covener] |
| 2896 |
|
| 2897 |
*) mod_http2: moving session cleanup to pre_close hook to avoid races with |
| 2898 |
modules already shut down and slave connections still operating. |
| 2899 |
[Stefan Eissing] |
| 2900 |
|
| 2901 |
*) mod_lua: Support for Lua 5.3 |
| 2902 |
|
| 2903 |
*) mod_proxy_http2: support for ProxyPreserverHost directive. [Stefan Eissing] |
| 2904 |
|
| 2905 |
*) mod_http2: fix for crash when running out of memory. |
| 2906 |
[Robert Swiecki <robert swiecki.net>, Stefan Eissing] |
| 2907 |
|
| 2908 |
*) mod_proxy_fcgi: Return HTTP 504 rather than 503 in case of proxy timeout. |
| 2909 |
[Luca Toscano] |
| 2910 |
|
| 2911 |
*) mod_http2: not counting file buckets again stream max buffer limits. |
| 2912 |
Effectively transferring static files in one step from slave to master |
| 2913 |
connection. [Stefan Eissing] |
| 2914 |
|
| 2915 |
*) mod_http2: comforting ap_check_pipeline() on slave connections |
| 2916 |
to facilitate reuse (see https://github.com/icing/mod_h2/issues/128). |
| 2917 |
[Stefan Eissing, reported by Armin Abfalterer] |
| 2918 |
|
| 2919 |
*) mod_http2: http/2 streams now with state handling/transitions as defined |
| 2920 |
in RFC7540. Stream cleanup/connection shutdown reworked to become easier |
| 2921 |
to understand/maintain/debug. Added many asserts on state and cleanup |
| 2922 |
transitions. [Stefan Eissing] |
| 2923 |
|
| 2924 |
*) mod_auth_digest: Use an anonymous shared memory segment by default, |
| 2925 |
preventing startup failure after unclean shutdown. PR 54622. |
| 2926 |
[Jan Kaluza] |
| 2927 |
|
| 2928 |
*) mod_filter: Fix AddOutputFilterByType with non-content-level filters. |
| 2929 |
PR 58856. [Micha Lenk <micha lenk.info>] |
| 2930 |
|
| 2931 |
*) mod_watchdog: Fix semaphore leak over restarts. [Jim Jagielski] |
| 2932 |
|
| 2933 |
*) mod_http2: regression fix on PR 59348, on graceful restart, ongoing |
| 2934 |
streams are finished normally before the final GOAWAY is sent. |
| 2935 |
[Stefan Eissing, <slavko gmail.com>] |
| 2936 |
|
| 2937 |
*) mod_proxy: Allow the per-request environment variable "no-proxy" to |
| 2938 |
be used as an alternative to ProxyPass /path !. This is primarily |
| 2939 |
to set exceptions for ProxyPass specified in <Location> context. |
| 2940 |
Use SetEnvIf, not SetEnv. PR 60458. [Eric Covener] |
| 2941 |
|
| 2942 |
*) mod_http2: fixes PR60599, sending proper response for conditional requests |
| 2943 |
answered by mod_cache. [Jeff Wheelhouse, Stefan Eissing] |
| 2944 |
|
| 2945 |
*) mod_http2: rework of stream resource cleanup to avoid a crash in a close |
| 2946 |
of a lingering connection. Prohibit special file bucket beaming for |
| 2947 |
shared buckets. Files sent in stream output now use the stream pool |
| 2948 |
as read buffer, reducing memory footprint of connections. |
| 2949 |
[Yann Ylavic, Stefan Eissing] |
| 2950 |
|
| 2951 |
*) mod_proxy_fcgi, mod_fcgid: Fix crashes in ap_fcgi_encoded_env_len() when |
| 2952 |
modules add empty environment variables to the request. PR 60275. |
| 2953 |
[<alex2grad AT gmail.com>] |
| 2954 |
|
| 2955 |
*) mod_http2: fix for possible page fault when stream is resumed during |
| 2956 |
session shutdown. [sidney-j-r-m (github)] |
| 2957 |
|
| 2958 |
*) mod_http2: fix for h2 session ignoring new responses while already |
| 2959 |
open streams continue to have data available. [Stefan Eissing] |
| 2960 |
|
| 2961 |
*) mod_http2: adding support for MergeTrailers directive. [Stefan Eissing] |
| 2962 |
|
| 2963 |
*) mod_http2: limiting DATA frame sizes by TLS record sizes in use on the |
| 2964 |
connection. Flushing outgoing frames earlier. [Stefan Eissing] |
| 2965 |
|
| 2966 |
*) mod_http2: cleanup beamer registry on server reload. PR 60510. |
| 2967 |
[Pavel Mateja <pavel verotel.cz>, Stefan Eissing] |
| 2968 |
|
| 2969 |
*) mod_proxy_{ajp,fcgi}: Fix a possible crash when reusing an established |
| 2970 |
backend connection, happening with LogLevel trace2 or higher configured, |
| 2971 |
or at any log level with compilers not detected as C99 compliant (e.g. |
| 2972 |
MSVC on Windows). [Yann Ylavic] |
| 2973 |
|
| 2974 |
*) mod_ext_filter: Don't interfere with "error buckets" issued by other |
| 2975 |
modules. PR 60375. [Eric Covener, Lubos Uhliarik] |
| 2976 |
|
| 2977 |
*) mod_http2: fixes https://github.com/icing/mod_h2/issues/126 e.g. beam |
| 2978 |
bucket lifetime handling when data is sent over temporary pools. |
| 2979 |
[Stefan Eissing] |
| 2980 |
|
| 2981 |
Changes with Apache 2.4.25 |
| 2982 |
|
| 2983 |
*) Fix some build issues related to various modules. |
| 2984 |
[Rainer Jung] |
| 2985 |
|
| 2986 |
Changes with Apache 2.4.24 (not released) |
| 2987 |
|
| 2988 |
*) SECURITY: CVE-2016-8740 (cve.mitre.org) |
| 2989 |
mod_http2: Mitigate DoS memory exhaustion via endless |
| 2990 |
CONTINUATION frames. |
| 2991 |
[Naveen Tiwari <naveen.tiwari@asu.edu> and CDF/SEFCOM at Arizona State |
| 2992 |
University, Stefan Eissing] |
| 2993 |
|
| 2994 |
*) SECURITY: CVE-2016-2161 (cve.mitre.org) |
| 2995 |
mod_auth_digest: Prevent segfaults during client entry allocation when |
| 2996 |
the shared memory space is exhausted. |
| 2997 |
[Maksim Malyutin <m.malyutin dsec.ru>, Eric Covener, Jacob Champion] |
| 2998 |
|
| 2999 |
*) SECURITY: CVE-2016-0736 (cve.mitre.org) |
| 3000 |
mod_session_crypto: Authenticate the session data/cookie with a |
| 3001 |
MAC (SipHash) to prevent deciphering or tampering with a padding |
| 3002 |
oracle attack. [Yann Ylavic, Colm MacCarthaigh] |
| 3003 |
|
| 3004 |
*) SECURITY: CVE-2016-8743 (cve.mitre.org) |
| 3005 |
Enforce HTTP request grammar corresponding to RFC7230 for request lines |
| 3006 |
and request headers, to prevent response splitting and cache pollution by |
| 3007 |
malicious clients or downstream proxies. [William Rowe, Stefan Fritsch] |
| 3008 |
|
| 3009 |
*) Validate HTTP response header grammar defined by RFC7230, resulting |
| 3010 |
in a 500 error in the event that invalid response header contents are |
| 3011 |
detected when serving the response, to avoid response splitting and cache |
| 3012 |
pollution by malicious clients, upstream servers or faulty modules. |
| 3013 |
[Stefan Fritsch, Eric Covener, Yann Ylavic] |
| 3014 |
|
| 3015 |
*) core: Mitigate [f]cgi CVE-2016-5387 "httpoxy" issues. |
| 3016 |
[Dominic Scheirlinck <dominic vendhq.com>, Yann Ylavic] |
| 3017 |
|
| 3018 |
*) mod_rewrite: Limit runaway memory use by short circuiting some kinds of |
| 3019 |
looping RewriteRules when the local path significantly exceeds |
| 3020 |
LimitRequestLine. PR 60478. [Jeff Wheelhouse <apache wheelhouse.org>] |
| 3021 |
|
| 3022 |
*) mod_ratelimit: Allow for initial "burst" amount at full speed before |
| 3023 |
throttling: PR 60145 [Andy Valencia <ajv-etradanalhos vsta.org>, |
| 3024 |
Jim Jagielski] |
| 3025 |
|
| 3026 |
*) mod_socache_memcache: Provide memcache stats to mod_status. |
| 3027 |
[Jim Jagielski] |
| 3028 |
|
| 3029 |
*) mod_file_cache: mod_file_cache should be able to serve files that |
| 3030 |
haven't had a Content-Type set via e.g. mod_mime. [Eric Covener] |
| 3031 |
|
| 3032 |
*) http_filters: Fix potential looping in new check_headers() due to new |
| 3033 |
pattern of ap_die() from http header filter. Explicitly clear the |
| 3034 |
previous headers and body. |
| 3035 |
|
| 3036 |
*) core: Drop Content-Length header and message-body from HTTP 204 responses. |
| 3037 |
PR 51350 [Luca Toscano] |
| 3038 |
|
| 3039 |
*) mod_proxy: Honor a server scoped ProxyPass exception when ProxyPass is |
| 3040 |
configured in <Location>, like in 2.2. PR 60458. |
| 3041 |
[Eric Covener] |
| 3042 |
|
| 3043 |
*) mod_lua: Fix default value of LuaInherit directive. It should be |
| 3044 |
'parent-first' instead of 'none', as per documentation. PR 60419 |
| 3045 |
[Christophe Jaillet] |
| 3046 |
|
| 3047 |
*) core: New directive HttpProtocolOptions to control httpd enforcement |
| 3048 |
of various RFC7230 requirements. [Stefan Fritsch, William Rowe] |
| 3049 |
|
| 3050 |
*) core: Permit unencoded ';' characters to appear in proxy requests and |
| 3051 |
Location: response headers. Corresponds to modern browser behavior. |
| 3052 |
[William Rowe] |
| 3053 |
|
| 3054 |
*) core: ap_rgetline_core now pulls from r->proto_input_filters. |
| 3055 |
|
| 3056 |
*) core: Correctly parse an IPv6 literal host specification in an absolute |
| 3057 |
URL in the request line. [Stefan Fritsch] |
| 3058 |
|
| 3059 |
*) core: New directive RegisterHttpMethod for registering non-standard |
| 3060 |
HTTP methods. [Stefan Fritsch] |
| 3061 |
|
| 3062 |
*) mod_socache_memcache: Pass expiration time through to memcached. PR 55445. |
| 3063 |
[Faidon Liambotis <paravoid debian.org>, Joe Orton] |
| 3064 |
|
| 3065 |
*) mod_cache: Use the actual URI path and query-string for identifying the |
| 3066 |
cached entity (key), such that rewrites are taken into account when |
| 3067 |
running afterwards (CacheQuickHandler off). PR 21935. [Yann Ylavic] |
| 3068 |
|
| 3069 |
*) mod_http2: new directive 'H2EarlyHints' to enable sending of HTTP status |
| 3070 |
103 interim responses. Disabled by default. [Stefan Eissing] |
| 3071 |
|
| 3072 |
*) mod_ssl: Fix quick renegotiation (OptRenegotiaton) with no intermediate |
| 3073 |
in the client certificate chain. PR 55786. [Yann Ylavic] |
| 3074 |
|
| 3075 |
*) event: Allow to use the whole allocated scoreboard (up to ServerLimit |
| 3076 |
slots) to avoid scoreboard full errors when some processes are finishing |
| 3077 |
gracefully. Also, make gracefully finishing processes close all |
| 3078 |
keep-alive connections. PR 53555. [Stefan Fritsch] |
| 3079 |
|
| 3080 |
*) mpm_event: Don't take over scoreboard slots from gracefully finishing |
| 3081 |
threads. [Stefan Fritsch] |
| 3082 |
|
| 3083 |
*) mpm_event: Free memory earlier when shutting down processes. |
| 3084 |
[Stefan Fritsch] |
| 3085 |
|
| 3086 |
*) mod_status: Display the process slot number in the async connection |
| 3087 |
overview. [Stefan Fritsch] |
| 3088 |
|
| 3089 |
*) mod_dir: Responses that go through "FallbackResource" might appear to |
| 3090 |
hang due to unterminated chunked encoding. PR58292. [Eric Covener] |
| 3091 |
|
| 3092 |
*) mod_dav: Fix a potential cause of unbounded memory usage or incorrect |
| 3093 |
behavior in a routine that sends <DAV:response>'s to the output filters. |
| 3094 |
[Evgeny Kotkov] |
| 3095 |
|
| 3096 |
*) mod_http2: new directive 'H2PushResource' to enable early pushes before |
| 3097 |
processing of the main request starts. Resources are announced to the |
| 3098 |
client in Link headers on a 103 early hint response. |
| 3099 |
All responses with status code <400 are inspected for Link header and |
| 3100 |
trigger pushes accordingly. 304 still does prevent pushes. |
| 3101 |
'H2PushResource' can mark resources as 'critical' which gives them higher |
| 3102 |
priority than the main resource. This leads to preferred scheduling for |
| 3103 |
processing and, when content is available, will send it first. 'critical' |
| 3104 |
is also recognized on Link headers. [Stefan Eissing] |
| 3105 |
|
| 3106 |
*) mod_proxy_http2: uris in Link headers are now mapped back to a suitable |
| 3107 |
local url when available. Relative uris with an absolute path are mapped |
| 3108 |
as well. This makes reverse proxy mapping available for resources |
| 3109 |
announced in this header. |
| 3110 |
With 103 interim responses being forwarded to the main client connection, |
| 3111 |
this effectively allows early pushing of resources by a reverse proxied |
| 3112 |
backend server. [Stefan Eissing] |
| 3113 |
|
| 3114 |
*) mod_proxy_http2: adding support for newly proposed 103 status code. |
| 3115 |
[Stefan Eissing] |
| 3116 |
|
| 3117 |
*) mpm_unix: Apache fails to start if previously crashed then restarted with |
| 3118 |
the same PID (e.g. in container). PR 60261. |
| 3119 |
[Val <valentin.bremond gmail.com>, Yann Ylavic] |
| 3120 |
|
| 3121 |
*) mod_http2: unannounced and multiple interim responses (status code < 200) |
| 3122 |
are parsed and forwarded to client until a final response arrives. |
| 3123 |
[Stefan Eissing] |
| 3124 |
|
| 3125 |
*) mod_proxy_http2: improved robustness when main connection is closed early |
| 3126 |
by resetting all ongoing streams against the backend. |
| 3127 |
[Stefan Eissing] |
| 3128 |
|
| 3129 |
*) mod_http2: allocators from slave connections are released earlier, |
| 3130 |
resulting in less overall memory use on busy, long lived connections. |
| 3131 |
[Stefan Eissing] |
| 3132 |
|
| 3133 |
*) mod_remoteip: Pick up where we left off during a subrequest rather |
| 3134 |
than running with the modified XFF but original TCP address. |
| 3135 |
PR 49839/PR 60251 |
| 3136 |
|
| 3137 |
*) http: Respond with "408 Request Timeout" when a timeout occurs while |
| 3138 |
reading the request body. [Yann Ylavic] |
| 3139 |
|
| 3140 |
*) mod_http2: connection shutdown revisited: corrected edge cases on |
| 3141 |
shutting down ongoing streams, changed log warnings to be less noisy |
| 3142 |
when waiting on long running tasks. [Stefan Eissing] |
| 3143 |
|
| 3144 |
*) mod_http2: changed all AP_DEBUG_ASSERT to ap_assert to have them |
| 3145 |
available also in normal deployments. [Stefan Eissing] |
| 3146 |
|
| 3147 |
*) mod_http2/mod_proxy_http2: 100-continue handling now properly implemented |
| 3148 |
up to the backend. Reused HTTP/2 proxy connections with more than a second |
| 3149 |
not used will block request bodies until a PING answer is received. |
| 3150 |
Requests headers are not delayed by this, since they are repeatable in |
| 3151 |
case of failure. This greatly increases robustness, especially with |
| 3152 |
busy server and/or low keepalive connections. [Stefan Eissing] |
| 3153 |
|
| 3154 |
*) mod_proxy_http2: fixed duplicate symbols with mod_http2. |
| 3155 |
[Stefan Eissing] |
| 3156 |
|
| 3157 |
*) mod_http2: rewrite of how responses and trailers are transferred between |
| 3158 |
master and slave connection. Reduction of internal states for tasks |
| 3159 |
and streams, stability. Heuristic id generation for slave connections |
| 3160 |
to better keep promise of connection ids unique at given point int time. |
| 3161 |
Fix for mod_cgid interop in high load situations. |
| 3162 |
Fix for handling of incoming trailers when no request body is sent. |
| 3163 |
[Stefan Eissing] |
| 3164 |
|
| 3165 |
*) mod_http2: fix suspended handling for streams. Output could become |
| 3166 |
blocked in rare cases. [Stefan Eissing] |
| 3167 |
|
| 3168 |
*) mpm_winnt: Prevent a denial of service when the 'data' AcceptFilter is in |
| 3169 |
use by replacing it with the 'connect' filter. PR 59970. [Jacob Champion] |
| 3170 |
|
| 3171 |
*) mod_cgid: Resolve a case where a short CGI response causes a subsequent |
| 3172 |
CGI to be killed prematurely, resulting in a truncated subsequent |
| 3173 |
response. [Eric Covener] |
| 3174 |
|
| 3175 |
*) mod_proxy_hcheck: Set health check URI and expression correctly for health |
| 3176 |
check worker. PR 60038 [zdeno <zdeno@scnet.sk>] |
| 3177 |
|
| 3178 |
*) mod_http2: if configured with nghttp2 1.14.0 and onward, invalid request |
| 3179 |
headers will immediately reset the stream with a PROTOCOL error. Feature |
| 3180 |
logged by module on startup as 'INVHD' in info message. |
| 3181 |
[Stefan Eissing] |
| 3182 |
|
| 3183 |
*) mod_http2: fixed handling of stream buffers during shutdown. |
| 3184 |
[Stefan Eissing] |
| 3185 |
|
| 3186 |
*) mod_reqtimeout: Fix body timeout disabling for CONNECT requests to avoid |
| 3187 |
triggering mod_proxy_connect's AH01018 once the tunnel is established. |
| 3188 |
[Yann Ylavic] |
| 3189 |
|
| 3190 |
*) ab: Set the Server Name Indication (SNI) extension on outgoing TLS |
| 3191 |
connections (unless -I is specified), according to the Host header (if |
| 3192 |
any) or the requested URL's hostname otherwise. [Yann Ylavic] |
| 3193 |
|
| 3194 |
*) mod_proxy_fcgi: avoid loops when ProxyErrorOverride is enabled |
| 3195 |
and the error documents are proxied. PR 55415. [Luca Toscano] |
| 3196 |
|
| 3197 |
*) mod_proxy_fcgi: read the whole FCGI response even when the content |
| 3198 |
has not been modified (HTTP 304) or in case of a precondition failure |
| 3199 |
(HTTP 412) to avoid subsequent bogus reads and confusing |
| 3200 |
error messages logged. [Luca Toscano] |
| 3201 |
|
| 3202 |
*) mod_http2: h2 status resource follows latest draft, see |
| 3203 |
http://www.ietf.org/id/draft-benfield-http2-debug-state-01.txt |
| 3204 |
[Stefan Eissing] |
| 3205 |
|
| 3206 |
*) mod_http2: handling graceful shutdown gracefully, e.g. handling existing |
| 3207 |
streams to the end. [Stefan Eissing] |
| 3208 |
|
| 3209 |
*) mod_proxy_{http,ajp,fcgi}: don't reuse backend connections with data |
| 3210 |
available before the request is sent. PR 57832. [Yann Ylavic] |
| 3211 |
|
| 3212 |
*) mod_proxy_balancer: Prevent redirect loops between workers within a |
| 3213 |
balancer by limiting the number of redirects to the number balancer |
| 3214 |
members. PR 59864 [Ruediger Pluem] |
| 3215 |
|
| 3216 |
*) mod_proxy: Correctly consider error response codes by the backend when |
| 3217 |
processing failonstatus. PR 59869 [Ruediger Pluem] |
| 3218 |
|
| 3219 |
*) mod_dav: Add dav_get_provider_name() function to obtain the name |
| 3220 |
of the provider from mod_dav. [Graham Leggett] |
| 3221 |
|
| 3222 |
*) mod_dav: Add support for childtags to dav_error. |
| 3223 |
[Jari Urpalainen <jari.urpalainen nokia.com>] |
| 3224 |
|
| 3225 |
*) mod_proxy_fcgi: Fix 2.4.23 breakage for mod_rewrite per-dir and query |
| 3226 |
string showing up in SCRIPT_FILENAME. PR59815 |
| 3227 |
|
| 3228 |
*) mod_include: Fix a potential memory misuse while evaluating expressions. |
| 3229 |
PR59844. [Eric Covener] |
| 3230 |
|
| 3231 |
*) mod_http2: new H2CopyFiles directive that changes treatment of file |
| 3232 |
handles in responses. Necessary in order to fix broken lifetime handling |
| 3233 |
in modules such as mod_wsgi. |
| 3234 |
|
| 3235 |
*) mod_http2: removing timeouts on master connection while requests are |
| 3236 |
being processed. Requests may timeout, but the master only times out when |
| 3237 |
no more requests are active. [Stefan Eissing] |
| 3238 |
|
| 3239 |
*) mod_http2: fixes connection flush when answering SETTINGS without any |
| 3240 |
stream open. [Moto Ishizawa <@summerwind>, Stefan Eissing] |
| 3241 |
|
| 3242 |
Changes with Apache 2.4.23 |
| 3243 |
|
| 3244 |
*) mod_ssl: reset client-verify state of ssl when aborting renegotiations. |
| 3245 |
[Erki Aring <erki@example.ee>, Stefan Eissing] |
| 3246 |
|
| 3247 |
*) mod_sed: Fix 'x' command processing. [Christophe Jaillet] |
| 3248 |
|
| 3249 |
*) configure: Fix ./configure edge-case failures around dependencies |
| 3250 |
of mod_proxy_hcheck. [William Rowe, Ruediger Pluem, Jeff Trawick] |
| 3251 |
|
| 3252 |
Changes with Apache 2.4.22 |
| 3253 |
|
| 3254 |
*) mod_http2: fix for request abort when connections drops, introduced in |
| 3255 |
1.5.8 |
| 3256 |
|
| 3257 |
Changes with Apache 2.4.21 |
| 3258 |
|
| 3259 |
*) core: Added support for HTTP code 451. PR 58985. |
| 3260 |
[Yehuda Katz <yehuda ymkatz.net>, Jim Jagielski] |
| 3261 |
|
| 3262 |
*) ab: Use caseless matching for HTTP tokens (e.g. content-length). PR 59111. |
| 3263 |
[Yann Ylavic] |
| 3264 |
|
| 3265 |
*) mod_http2: more rigid error handling in DATA frame assembly, leading |
| 3266 |
to deterministic connection errors if assembly fails. |
| 3267 |
[Stefan Eissing, Pal Nilsen <https://github.com/maedox>] |
| 3268 |
|
| 3269 |
*) abs: Include OPENSSL_Applink when compiling on Windows, to resolve |
| 3270 |
failures under Visual Studio 2015 and other mismatched MSVCRT flavors. |
| 3271 |
PR59630 [Jan Ehrhardt <phpdev ehrhardt.nl>] |
| 3272 |
|
| 3273 |
*) mod_ssl: Add "no_crl_for_cert_ok" flag to SSLCARevocationCheck directive |
| 3274 |
to opt-in previous behaviour (2.2) with CRLs verification when checking |
| 3275 |
certificate(s) with no corresponding CRL. [Yann Ylavic] |
| 3276 |
|
| 3277 |
*) mpm_event, mpm_worker: Fix computation of MinSpareThreads' lower bound |
| 3278 |
according the number of listeners buckets. [Yann Ylavic] |
| 3279 |
|
| 3280 |
*) Add ap_cstr_casecmp[n]() - placeholder of apr_cstr_casecmp[n] functions |
| 3281 |
for case-insensitive C/POSIX-locale token comparison. |
| 3282 |
[Jim Jagielski, William Rowe, Yann Ylavic, Branko ÄŒibej] |
| 3283 |
|
| 3284 |
*) mod_userdir: Constify and save a few bytes in the conf pool when |
| 3285 |
parsing the "UserDir" directive. [Christophe Jaillet] |
| 3286 |
|
| 3287 |
*) mod_cache: Fix (max-stale with no '=') and enforce (check |
| 3288 |
integers after '=') Cache-Control header parsing. |
| 3289 |
[Christophe Jaillet] |
| 3290 |
|
| 3291 |
*) core: Add -DDUMP_INCLUDES configtest option to show the tree |
| 3292 |
of Included configuration files. |
| 3293 |
[Jacob Champion <champion.pxi gmail.com>] |
| 3294 |
|
| 3295 |
*) mod_proxy_fcgi: Avoid passing a filename of proxy:fcgi:// as |
| 3296 |
SCRIPT_FILENAME to a FastCGI server. PR59618. |
| 3297 |
[Jacob Champion <champion.pxi gmail.com>] |
| 3298 |
|
| 3299 |
*) mod_dav: Add dav_get_provider_name() function to obtain the name |
| 3300 |
of the provider from mod_dav. |
| 3301 |
[Jari Urpalainen <jari.urpalainen nokia.com>] |
| 3302 |
|
| 3303 |
*) mod_proxy_http2: properly care for HTTP2 flow control of the frontend |
| 3304 |
connection is HTTP/1.1. [Patch supplied by Evgeny Kotkov] |
| 3305 |
|
| 3306 |
*) mod_http2: improved cleanup of connection/streams/tasks to always |
| 3307 |
have deterministic order regardless of event initiating it. Addresses |
| 3308 |
reported crashes due to memory read after free issues. |
| 3309 |
[Stefan Eissing] |
| 3310 |
|
| 3311 |
*) mod_ssl: Correct the interaction between SSLProxyCheckPeerCN and newer |
| 3312 |
SSLProxyCheckPeerName directives since release 2.4.5, such that disabling |
| 3313 |
either disables both, and that enabling either triggers the new, more |
| 3314 |
comprehensive SSLProxyCheckPeerName behavior. Only a single configuration |
| 3315 |
remains to enable the legacy behavior, which is to explicitly disable |
| 3316 |
SSLProxyCheckPeerName, and enable SSLProxyCheckPeerCN. [William Rowe] |
| 3317 |
|
| 3318 |
*) mod_include: add the <!--#comment ...> syntax in order to include comments |
| 3319 |
in a SSI file. [Christophe Jaillet based on a suggestion from Rob] |
| 3320 |
|
| 3321 |
*) mod_http2: improved event handling for suspended streams, responses |
| 3322 |
and window updates. [Stefan Eissing] |
| 3323 |
|
| 3324 |
*) mod_proxy_hcheck: Provide for dynamic background health |
| 3325 |
checks on reverse proxies associated with BalancerMember |
| 3326 |
workers. [Jim Jagielski] |
| 3327 |
|
| 3328 |
*) mod_http2: Fix async write issue that led to selection of wrong timeout |
| 3329 |
vs. keepalive timeout selection for idle sessions. [Stefan Eissing] |
| 3330 |
|
| 3331 |
*) mod_http2: checking LimitRequestLine, LimitRequestFields and |
| 3332 |
LimitRequestFieldSize configurated values for incoming streams. Returning |
| 3333 |
HTTP status 431 for too long/many headers fields and 414 for a too long |
| 3334 |
pseudo header. [Stefan Eissing] |
| 3335 |
|
| 3336 |
*) mod_http2: tracking conn_rec->current_thread on slave connections, so |
| 3337 |
that mod_lua finds the correct one. Fixes PR 59542. [Stefan Eissing] |
| 3338 |
|
| 3339 |
*) mod_proxy_http2: new experimental http2 proxy module for h2: and h2c: proxy |
| 3340 |
urls. Part of the httpd mod_proxy framework, common settings apply. |
| 3341 |
Requests from the same HTTP/2 frontend connection against the same backend |
| 3342 |
are aggregated on a single connection. |
| 3343 |
[Stefan Eissing] |
| 3344 |
|
| 3345 |
*) mod_http2: slave connections have conn_rec->aborted flag set when a stream |
| 3346 |
has been reset by the client. [Stefan Eissing] |
| 3347 |
|
| 3348 |
*) mod_http2: merge of some 2.4.x adaptions re filters on slave connections. |
| 3349 |
Small fixes in bucket beams when forwarding file buckets. Output handling |
| 3350 |
on master connection uses less FLUSH and passes automatically when more |
| 3351 |
than half of H2StreamMaxMemSize bytes have accumulated. |
| 3352 |
Workaround for http: when forwarding partial file buckets to keep the |
| 3353 |
output filter from closing these too early. [Stefan Eissing] |
| 3354 |
|
| 3355 |
*) mod_http2: elimination of fixed master connection buffer for TLS |
| 3356 |
connections. New scratch bucket handling optimized for TLS write sizes. |
| 3357 |
File bucket data read directly into scratch buffers, avoiding one |
| 3358 |
copy. Non-TLS connections continue to pass buckets unchanged to the core |
| 3359 |
filters to allow sendfile() usage. [Stefan Eissing] |
| 3360 |
|
| 3361 |
*) mod_http2/mod_proxy_http2: h2_request.c is no longer shared between these |
| 3362 |
modules. This simplifies building on platforms such as Windows, as module |
| 3363 |
reference used in logging is now clear. [Stefan Eissing] |
| 3364 |
|
| 3365 |
*) Scoreboard: Fix a regression in 2.4.20 that causes wrong request data |
| 3366 |
to be displayed on the status page. PR 59333. [Yann Ylavic, William Rowe] |
| 3367 |
|
| 3368 |
*) mod_http2: fixed a bug that caused mod_proxy_http2 to be called for window |
| 3369 |
updates on requests it had already reported done. Added synchronization |
| 3370 |
on early connection/stream close that lets ongoing requests safely drain |
| 3371 |
their input filters. |
| 3372 |
[Stefan Eissing] |
| 3373 |
|
| 3374 |
*) mod_http2: scoreboard updates that summarize the h2 session (and replace |
| 3375 |
the last request information) will only happen when the session is idle or |
| 3376 |
in shutdown/done phase. [Stefan Eissing] |
| 3377 |
|
| 3378 |
*) mod_http2: new "bucket beam" technology to transport buckets across |
| 3379 |
threads without buffer copy. Delaying response start until flush or |
| 3380 |
enough body data has been accumulated. Overall significantly smaller |
| 3381 |
memory footprint. [Stefan Eissing] |
| 3382 |
|
| 3383 |
*) core: New CGIVar directive can configure REQUEST_URI to represent the |
| 3384 |
current URI being processed instead of always the original request. |
| 3385 |
[Jeff Trawick] |
| 3386 |
|
| 3387 |
*) scoreboard/status: Restore behavior of showing workers' previous Client, |
| 3388 |
VHost and Request values when idle, like in 2.4.18 and earlier. |
| 3389 |
|
| 3390 |
*) mod_http2: r->protocol changed to "HTTP/2.0" (was "HTTP/2") as this will |
| 3391 |
give expected syntax in CGI's SERVER_PROTOCOL is more compatible with |
| 3392 |
existing major/minor handling. Fixes PR 59313. |
| 3393 |
|
| 3394 |
*) mod_http2: disabling mmap for file buckets transport due to segmenation |
| 3395 |
faults when files change on the fly. |
| 3396 |
|
| 3397 |
Changes with Apache 2.4.20 |
| 3398 |
|
| 3399 |
*) SECURITY: CVE-2016-1546 (cve.mitre.org) |
| 3400 |
mod_http2: restricting number of concurrent stream workers per connection |
| 3401 |
if client is slow. |
| 3402 |
|
| 3403 |
*) core: Do not read .htaccess if AllowOverride and AllowOverrideList |
| 3404 |
are "None". PR 58528. |
| 3405 |
[Michael Schlenker <msc contact.de, Ruediger Pluem, Daniel Ruggeri] |
| 3406 |
|
| 3407 |
*) mod_proxy_express: Fix possible use of DB handle after close. PR 59230. |
| 3408 |
[Petr <pgajdos suse.cz>] |
| 3409 |
|
| 3410 |
*) core/util_script: relax alphanumeric filter of environment variable names |
| 3411 |
on Windows to allow '(' and ')' for passing PROGRAMFILES(X86) et.al. |
| 3412 |
unadulterated in 64 bit versions of Windows. PR 46751. |
| 3413 |
[John <john leineweb de>] |
| 3414 |
|
| 3415 |
*) mod_http2: incrementing keepalives on each request started so that logging |
| 3416 |
%k gives increasing numbers per master http2 connection. |
| 3417 |
New documented variables in env, usable in custom log formats: H2_PUSH, |
| 3418 |
H2_PUSHED, H2_PUSHED_ON, H2_STREAM_ID and H2_STREAM_TAG. |
| 3419 |
[Stefan Eissing] |
| 3420 |
|
| 3421 |
*) mod_http2: more efficient passing of response bodies with less contention |
| 3422 |
and file bucket forwarding. [Stefan Eissing] |
| 3423 |
|
| 3424 |
*) mod_http2: fix for missing score board updates on request count, fix for |
| 3425 |
memory leak on slave connection reuse. [Stefan Eissing] |
| 3426 |
|
| 3427 |
*) mod_http2: Fix build on Windows from dsp files. |
| 3428 |
[Stefan Eissing] |
| 3429 |
|
| 3430 |
Changes with Apache 2.4.19 |
| 3431 |
|
| 3432 |
*) mod_ssl: Add missing Upgrade/Connection headers in case of TRACE or |
| 3433 |
OPTIONS * requests. PR 58688. [William Rowe] |
| 3434 |
|
| 3435 |
*) mod_include: Add variable DOCUMENT_ARGS, with the arguments to the |
| 3436 |
request for the SSI document. [Jeff Trawick] |
| 3437 |
|
| 3438 |
*) mod_authz_host: Add a new "forward-dns" authorization type, not relying on |
| 3439 |
reverse DNS lookups. [Fabien] |
| 3440 |
|
| 3441 |
*) mod_proxy_http2: new experimental http2 proxy module for h2: and h2c: proxy |
| 3442 |
urls. Uses backend connections for concurrent requests if frontend |
| 3443 |
connection is http2 as well. |
| 3444 |
[Stefan Eissing] |
| 3445 |
|
| 3446 |
*) mod_ssl: Add hooks to allow other modules to perform processing at |
| 3447 |
several stages of initialization and connection handling. See |
| 3448 |
mod_ssl_openssl.h. [Jeff Trawick] |
| 3449 |
|
| 3450 |
*) mod_http2: disabling PUSH when client sends GOAWAY. Slave connections are |
| 3451 |
reused for several requests, improved performance and better memory use. |
| 3452 |
[Stefan Eissing] |
| 3453 |
|
| 3454 |
*) mod_rewrite: Don't implicitly URL-escape the original query string |
| 3455 |
when no substitution has changed it (like PR50447 but server context) |
| 3456 |
[Evgeny Kotkov <evgeny.kotkov visualsvn.com>] |
| 3457 |
|
| 3458 |
*) mod_http2: fixes problem with wrong lifetime of file buckets on main |
| 3459 |
connection. [Stefan Eissing] |
| 3460 |
|
| 3461 |
*) mod_http2: fixes incorrect denial of requests without :authority header. |
| 3462 |
[Stefan Eissing] |
| 3463 |
|
| 3464 |
*) mod_reqtimeout: Prevent long response times from triggering a timeout once |
| 3465 |
the request has been fully read. PR 59045. [Yann Ylavic] |
| 3466 |
|
| 3467 |
*) ap_expr: expression support for variable HTTP2=on|off. [Stefan Eissing] |
| 3468 |
|
| 3469 |
*) mod_http2: give control to async mpm for keepalive timeouts only when |
| 3470 |
no streams are open and even if only after 1 sec delay. Under load, event |
| 3471 |
mpm discards connections otherwise too quickly. [Stefan Eissing] |
| 3472 |
|
| 3473 |
*) mod_ssl: Don't lose track of the SSL context if an unlikely failure occurs |
| 3474 |
in ssl_init_ssl_connection(). [Graham Leggett] |
| 3475 |
|
| 3476 |
*) mod_rewrite: Add QSL|qslast flag to allow rewrites to files with |
| 3477 |
literal question marks in their names. PR 58777. [Eric Covener] |
| 3478 |
|
| 3479 |
*) event: use pre_connection hook to properly initialize connection state for |
| 3480 |
slave connections. use protocol_switch hook to initialize server config |
| 3481 |
early based on SNI selected vhost. |
| 3482 |
[Stefan Eissing] |
| 3483 |
|
| 3484 |
*) hostname: Test and log useragent_host per-request across various modules, |
| 3485 |
including the scoreboard, expression and rewrite engines, setenvif, |
| 3486 |
authz_host, access_compat, custom logging, ssl and REMOTE_HOST variables. |
| 3487 |
PR55348 [William Rowe] |
| 3488 |
|
| 3489 |
*) core: Track the useragent_host per-request when mod_remoteip or similar |
| 3490 |
modules track a per-request useragent_ip. Modules should be updated |
| 3491 |
to inquire for ap_get_useragent_host() in place of ap_get_remote_host(). |
| 3492 |
[William Rowe] |
| 3493 |
|
| 3494 |
*) core: fix a bug in <UnDefine ...> directive processing. When used, the last |
| 3495 |
<Define...>'ed variable was also withdrawn. PR 59019 |
| 3496 |
[Christophe Jaillet] |
| 3497 |
|
| 3498 |
*) mod_http2: Accept-Encoding is, when present on the initiating request, |
| 3499 |
added to push promises. This lets compressed content work in pushes. |
| 3500 |
by the client. [Stefan Eissing] |
| 3501 |
|
| 3502 |
*) mod_http2: fixed possible read after free when streams were cancelled early |
| 3503 |
by the client. [Stefan Eissing] |
| 3504 |
|
| 3505 |
*) mod_http2: fixed possible deadlock during connection shutdown. Thanks to |
| 3506 |
@FrankStolle for reporting and getting the necessary data. |
| 3507 |
[Stefan Eissing] |
| 3508 |
|
| 3509 |
*) mod_http2: fixed apr_uint64_t formatting in a log statement to user proper |
| 3510 |
APR def, thanks to @Sp1l. |
| 3511 |
|
| 3512 |
*) mod_http2: number of worker threads allowed to a connection is adjusting |
| 3513 |
dynamically. Starting with 4, the number is doubled when streams can be |
| 3514 |
served without block on http/2 connection flow. The number is halfed, when |
| 3515 |
the server has to wait on client flow control grants. |
| 3516 |
This can happen with a maximum frequency of 5 times per second. |
| 3517 |
When a connection occupies too many workers, repeatable requests |
| 3518 |
(GET/HEAD/OPTIONS) are cancelled and placed back in the queue. Should that |
| 3519 |
not suffice and a stream is busy longer than the server timeout, the |
| 3520 |
connection will be aborted with error code ENHANCE_YOUR_CALM. |
| 3521 |
This does *not* limit the number of streams a client may open, rather the |
| 3522 |
number of server threads a connection might use. |
| 3523 |
[Stefan Eissing] |
| 3524 |
|
| 3525 |
*) mod_http2: allowing link header to specify multiple "rel" values, |
| 3526 |
space-separated inside a quoted string. Prohibiting push when Link |
| 3527 |
parameter "nopush" is present. |
| 3528 |
[Stefan Eissing] |
| 3529 |
|
| 3530 |
*) mod_http2: reworked connection state handling. Idle connections accept a |
| 3531 |
GOAWAY from the client without further reply. Otherwise the |
| 3532 |
module makes a best effort to send one last GOAWAY to the client. |
| 3533 |
|
| 3534 |
*) mod_http2: the values from standard directives Timeout and KeepAliveTimeout |
| 3535 |
properly are applied to http/2 connections. |
| 3536 |
[Stefan Eissing] |
| 3537 |
|
| 3538 |
*) mod_http2: idle connections are returned to async mpms. new hook |
| 3539 |
"pre_close_connection" used to send GOAWAY frame when not already done. |
| 3540 |
Setting event mpm server config "by hand" for the main connection to |
| 3541 |
the correct negotiated server. |
| 3542 |
[Stefan Eissing] |
| 3543 |
|
| 3544 |
*) mod_http2: keep-alive blocking reads are done with 1 second timeouts to |
| 3545 |
check for MPM stopping. Will announce early GOAWAY and finish processing |
| 3546 |
open streams, then close. |
| 3547 |
[Stefan Eissing] |
| 3548 |
|
| 3549 |
*) mod_http2: bytes read/written on slave connections are reported via the |
| 3550 |
optional mod_logio functions. Fixes PR 58871. |
| 3551 |
|
| 3552 |
*) prefork: Initialize the POD when running in ONE_PROCESS (or -X) mode to |
| 3553 |
avoid a crash. [Jan Kaluza, Yann Ylavic] |
| 3554 |
|
| 3555 |
*) mod_ssl: When SSLVerify is disabled (NONE), don't force a renegotiation if |
| 3556 |
the SSLVerifyDepth applied with the default/handshaken vhost differs from |
| 3557 |
the one applicable with the finally selected vhost. [Yann Ylavic] |
| 3558 |
|
| 3559 |
*) core: Ensure that httpd exits with an error status when the MPM fails |
| 3560 |
to run. [Yann Ylavic] |
| 3561 |
|
| 3562 |
*) mod_ssl: Fix a possible memory leak on restart for custom [EC]DH params. |
| 3563 |
[Jan Kaluza, Yann Ylavic] |
| 3564 |
|
| 3565 |
*) mod_ssl: Add SSLOCSPProxyURL to add the possibility to do all queries |
| 3566 |
to OCSP responders through a HTTP proxy. [Ruediger Pluem] |
| 3567 |
|
| 3568 |
*) mod_proxy: Play/restore the TLS-SNI on new backend connections which |
| 3569 |
had to be issued because the remote closed the previous/reusable one |
| 3570 |
during idle (keep-alive) time. [Yann Ylavic] |
| 3571 |
|
| 3572 |
*) mod_cache_socache: Fix a possible cached entity body corruption when it |
| 3573 |
is received from an origin server in multiple batches and forwarded by |
| 3574 |
mod_proxy. [Yann Ylavic] |
| 3575 |
|
| 3576 |
*) core: Add expression support to SetHandler. |
| 3577 |
[Eric Covener] |
| 3578 |
|
| 3579 |
*) mod_remoteip: Prevent an external proxy from presenting an internal |
| 3580 |
proxy. PR 55962. [Mike Rumph] |
| 3581 |
|
| 3582 |
*) core: Prevent a server crash in case of an invalid CONNECT request with |
| 3583 |
a custom error page for status code 400 that uses server side includes. |
| 3584 |
PR 58929 [Ruediger Pluem] |
| 3585 |
|
| 3586 |
*) mod_ssl: handle TIMEOUT on empty SSL input as non-fatal, returning |
| 3587 |
APR_TIMEUP and preserving connection state for later retry. |
| 3588 |
[Stefan Eissing] |
| 3589 |
|
| 3590 |
*) mod_ssl: Save some TLS record (application data) fragmentations by |
| 3591 |
including the last and subsequent suitable buckets when coalescing. |
| 3592 |
[Yann Ylavic] |
| 3593 |
|
| 3594 |
*) mod_proxy_fcgi: Suppress HTTP error 503 and message 01075, |
| 3595 |
"Error dispatching request", when the cause appears to be |
| 3596 |
due to the client closing the connection. |
| 3597 |
PR58118. [Tobias Adolph <adolph lrz.de>] |
| 3598 |
|
| 3599 |
*) mod_cgid: Message AH02550, failure to flush a response to the client, |
| 3600 |
is now logged at TRACE1 level to match the underlying core output filter |
| 3601 |
severity. [Eric Covener] |
| 3602 |
|
| 3603 |
*) mime.types: add common extension "m4a" for MPEG 4 Audio. |
| 3604 |
PR 57895 [Dylan Millikin <dylan.millikin gmail.com>] |
| 3605 |
|
| 3606 |
*) Added many log numbers to log statements that had none. |
| 3607 |
[Rainer Jung] |
| 3608 |
|
| 3609 |
*) mod_log_config: Add GlobalLog to allow a globally defined log to |
| 3610 |
be inherited by virtual hosts that define a CustomLog. |
| 3611 |
[Edward Lu] |
| 3612 |
|
| 3613 |
*) mod_http2: connections how keep a "push diary" where hashes of already |
| 3614 |
pushed resources are kept. See directive H2PushDiarySize for managing this. |
| 3615 |
Push diaries can be initialized by clients via the "Cache-Digest" request |
| 3616 |
header. This carries a base64url encoded. compressed Golomb set as described |
| 3617 |
in https://datatracker.ietf.org/doc/draft-kazuho-h2-cache-digest/ |
| 3618 |
Introduced a status handler for HTTP/2 connections, giving various counters |
| 3619 |
and statistics about the current connection, plus its cache digest value |
| 3620 |
in a JSON record. Not a replacement for more HTTP/2 in the server status. |
| 3621 |
Configured as |
| 3622 |
<Location "/http2-status"> |
| 3623 |
SetHandler http2-status |
| 3624 |
</Location> |
| 3625 |
[Stefan Eissing] |
| 3626 |
|
| 3627 |
*) mod_http2: Fixed flushing of last GOAWAY frame. Previously, that frame |
| 3628 |
did not always reach the client, causing some to fail the next request. |
| 3629 |
Fixed calculation of last stream id accepted as described in rfc7540. |
| 3630 |
Reading in KEEPALIVE state now correctly shown in scoreboard. |
| 3631 |
Fixed possible race in connection shutdown after review by Ylavic. |
| 3632 |
Fixed segfault on connection shutdown, callback ran into a semi dismantled session. |
| 3633 |
[Stefan Eissing] |
| 3634 |
|
| 3635 |
*) mod_http2: Added support for experimental accept-push-policy draft |
| 3636 |
(https://tools.ietf.org/html/draft-ruellan-http-accept-push-policy-00). Clients |
| 3637 |
may now influence server pushes by sending accept-push-policy headers. |
| 3638 |
[Stefan Eissing] |
| 3639 |
|
| 3640 |
*) mod_http2: new r->subprocess_env variables HTTP2 and H2PUSH, set to "on" |
| 3641 |
when available for request. |
| 3642 |
[Stefan Eissing] |
| 3643 |
|
| 3644 |
*) mod_http2: fixed bug in input window size calculation by moving chunked |
| 3645 |
request body encoding into later stage of processing. Fixes PR 58825. |
| 3646 |
[Stefan Eissing] |
| 3647 |
|
| 3648 |
*) core: new hook "pre_close_connection" which is run before the lingering |
| 3649 |
close of connections is started. This gives protocol handlers one last |
| 3650 |
chance to use a connection before it goes down. |
| 3651 |
[Stefan Eissing] |
| 3652 |
|
| 3653 |
*) mod_status/scoreboard: showing connection protocol in new column, new |
| 3654 |
ap_update_child_status methods for updating server/description. mod_ssl |
| 3655 |
sets vhost negotiated by servername directly. |
| 3656 |
[Stefan Eissing] |
| 3657 |
|
| 3658 |
Changes with Apache 2.4.18 |
| 3659 |
|
| 3660 |
*) mod_ssl: for all ssl_engine_vars.c lookups, fall back to master connection |
| 3661 |
if conn_rec itself holds no valid SSLConnRec*. Fixes PR58666. |
| 3662 |
[Stefan Eissing] |
| 3663 |
|
| 3664 |
*) mod_http2: connection level window for flow control is set to protocol |
| 3665 |
maximum of 2GB-1, preventing window exhaustion when sending data on many |
| 3666 |
streams with higher cumulative window size. |
| 3667 |
Reducing write frequency unless push promises need to be flushed. |
| 3668 |
[Stefan Eissing] |
| 3669 |
|
| 3670 |
*) mod_http2: required minimum version of libnghttp2 is 1.2.1 |
| 3671 |
[Stefan Eissing] |
| 3672 |
|
| 3673 |
*) mod_proxy_fdpass: Fix AH01153 error when using the default configuration. |
| 3674 |
In earlier version of httpd, you can explicitly set the 'flusher' parameter |
| 3675 |
to 'flush' as a workaround. (i.e. flusher=flush) |
| 3676 |
Add documentation for the 'flusher' parameter when defining a proxy worker. |
| 3677 |
[Christophe Jaillet] |
| 3678 |
|
| 3679 |
*) mod_ssl: For the "SSLStaplingReturnResponderErrors off" case, make sure |
| 3680 |
to only staple responses with certificate status "good". [Kaspar Brand] |
| 3681 |
|
| 3682 |
*) mod_http2: new directive 'H2PushPriority' to allow priority specifications |
| 3683 |
on server pushed streams according to their content-type. |
| 3684 |
[Stefan Eissing] |
| 3685 |
|
| 3686 |
*) mod_http2: fixes crash on connection abort for a busy connection. |
| 3687 |
fixes crash on a request that did not produce any response. |
| 3688 |
[Stefan Eissing] |
| 3689 |
|
| 3690 |
*) mod_http2: trailers are sent after response body if set in request_rec |
| 3691 |
trailers_out before the end-of-request bucket is sent through the |
| 3692 |
output filters. [Stefan Eissing] |
| 3693 |
|
| 3694 |
*) mod_http2: incoming trailers (headers after request body) are properly |
| 3695 |
forwarded to the processing engine. [Stefan Eissing] |
| 3696 |
|
| 3697 |
*) mod_http2: new directive 'H2Push' to en-/disable HTTP/2 server |
| 3698 |
pushes a server/virtual host. Pushes are initiated by the presence |
| 3699 |
of 'Link:' headers with relation 'preload' on a response. [Stefan Eissing] |
| 3700 |
|
| 3701 |
*) mod_http2: write performance of http2 improved for larger resources, |
| 3702 |
especially static files. [Stefan Eissing] |
| 3703 |
|
| 3704 |
*) core: if the first HTTP/1.1 request on a connection goes to a server that |
| 3705 |
prefers different protocols, these protocols are announced in a Upgrade: |
| 3706 |
header on the response, mentioning the preferred protocols. |
| 3707 |
[Stefan Eissing] |
| 3708 |
|
| 3709 |
*) mod_http2: new directives 'H2TLSWarmUpSize' and 'H2TLSCoolDownSecs' |
| 3710 |
to control TLS record sizes during connection lifetime. |
| 3711 |
[Stefan Eissing] |
| 3712 |
|
| 3713 |
*) mod_http2: new directive 'H2ModernTLSOnly' to enforce security |
| 3714 |
requirements of RFC 7540 on TLS connections. [Stefan Eissing] |
| 3715 |
|
| 3716 |
*) core: add ap_get_protocol_upgrades() to retrieve the list of protocols |
| 3717 |
that a client could possibly upgrade to. Use in first request on a |
| 3718 |
connection to announce protocol choices. [Stefan Eissing] |
| 3719 |
|
| 3720 |
*) mod_http2: reworked deallocation on connection shutdown and worker |
| 3721 |
abort. Separate parent pool for all workers. worker threads are joined |
| 3722 |
on planned worker shutdown. [Yann Ylavic, Stefan Eissing] |
| 3723 |
|
| 3724 |
*) mod_ssl: when receiving requests for other virtual hosts than the handshake |
| 3725 |
server, the SSL parameters are checked for equality. With equal |
| 3726 |
configuration, requests are passed for processing. Any change will trigger |
| 3727 |
the old behaviour of "421 Misdirected Request". |
| 3728 |
SSL now remembers the cipher suite that was used for the last handshake. |
| 3729 |
This is compared against for any vhost/directory cipher specification. |
| 3730 |
Detailed examination of renegotiation is only done when these do not |
| 3731 |
match. |
| 3732 |
Renegotiation is 403ed when a master connection is present. Exact reason |
| 3733 |
is given additionally in a request note. [Stefan Eissing] |
| 3734 |
|
| 3735 |
*) mod_ssl: Make the output filter more friendly with deferred write and |
| 3736 |
response pipelining. [Yann Ylavic, Joe Orton] |
| 3737 |
|
| 3738 |
*) core: Fix scoreboard crash (SIGBUS) on hardware requiring strict 64bit |
| 3739 |
alignment (SPARC64, PPC64). [Yann Ylavic] |
| 3740 |
|
| 3741 |
*) mod_cache: Accept HT (Horizontal Tab) when parsing cache related header |
| 3742 |
fields as described in RFC7230. [Christophe Jaillet] |
| 3743 |
|
| 3744 |
*) core/util_script: making REDIRECT_URL a full URL is now opt-in |
| 3745 |
via new 'QualifyRedirectURL' directive. |
| 3746 |
|
| 3747 |
*) core: Limit to ten the number of tolerated empty lines between request, |
| 3748 |
and consume them before the pipelining check to avoid possible response |
| 3749 |
delay when reading the next request without flushing. [Yann Ylavic] |
| 3750 |
|
| 3751 |
*) mod_ssl: Extend expression parser registration to support ssl variables |
| 3752 |
in any expression using mod_rewrite syntax "%{SSL:VARNAME}" or function |
| 3753 |
syntax "ssl(VARNAME)". [Rainer Jung] |
| 3754 |
|
| 3755 |
Changes with Apache 2.4.17 |
| 3756 |
|
| 3757 |
*) mod_http2: added donated HTTP/2 implementation via core module. Similar |
| 3758 |
configuration options to mod_ssl. [Stefan Eissing] |
| 3759 |
|
| 3760 |
*) mod_proxy: don't recycle backend announced "Connection: close" connections |
| 3761 |
to avoid reusing it should the close be effective after some new request |
| 3762 |
is ready to be sent. [Yann Ylavic] |
| 3763 |
|
| 3764 |
*) mod_substitute: Allow to configure the patterns merge order with the new |
| 3765 |
SubstituteInheritBefore on|off directive. PR 57641 |
| 3766 |
[Marc.Stern <Marc.Stern approach.be>, Yann Ylavic, William Rowe] |
| 3767 |
|
| 3768 |
*) mod_proxy: Fix ProxySourceAddress binding failure with AH00938. |
| 3769 |
PR 56687. [Arne de Bruijn <apache arbruijn.dds.nl> |
| 3770 |
|
| 3771 |
*) mod_ssl: Support compilation against libssl built with OPENSSL_NO_SSL3, |
| 3772 |
and change the compiled-in default for SSL[Proxy]Protocol to "all -SSLv3", |
| 3773 |
in accordance with RFC 7568. PR 58349, PR 57120. [Kaspar Brand] |
| 3774 |
|
| 3775 |
*) mod_ssl: append :!aNULL:!eNULL:!EXP to the cipher string settings, |
| 3776 |
instead of prepending !aNULL:!eNULL:!EXP: (as was the case in 2.4.7 |
| 3777 |
and later). Enables support for configuring the SUITEB* cipher |
| 3778 |
strings introduced in OpenSSL 1.0.2. PR 58213. [Kaspar Brand] |
| 3779 |
|
| 3780 |
*) mod_ssl: Add support for extracting the msUPN and dnsSRV forms |
| 3781 |
of subjectAltName entries of type "otherName" into |
| 3782 |
SSL_{CLIENT,SERVER}_SAN_OTHER_{msUPN,dnsSRV}_n environment |
| 3783 |
variables. Addresses PR 58020. [Jan Pazdziora <jpazdziora redhat.com>, |
| 3784 |
Kaspar Brand] |
| 3785 |
|
| 3786 |
*) mod_logio: Fix logging of %^FB (time to first byte) on the first request on |
| 3787 |
an SSL connection. PR 58454. |
| 3788 |
[Konstantin J. Chernov <k.j.chernov gmail.com>] |
| 3789 |
|
| 3790 |
*) mod_cache: r->err_headers_out is not merged into |
| 3791 |
r->headers when mod_cache is enabled and the response |
| 3792 |
is cached for the first time. [Edward Lu] |
| 3793 |
|
| 3794 |
*) mod_slotmem_shm: Fix slots/SHM files names on restart for systems that |
| 3795 |
can't create new (clear) slots while previous children gracefully stopping |
| 3796 |
still use the old ones (e.g. Windows, OS2). mod_proxy_balancer failed to |
| 3797 |
restart whenever the number of configured balancers/members changed during |
| 3798 |
restart. PR 58024. [Yann Ylavic] |
| 3799 |
|
| 3800 |
*) core/util_script: make REDIRECT_URL a full URL. PR 57785. [Nick Kew] |
| 3801 |
|
| 3802 |
*) MPMs: Support SO_REUSEPORT to create multiple duplicated listener |
| 3803 |
records for scalability. [Yingqi Lu <yingqi.lu@intel.com>, |
| 3804 |
Jeff Trawick, Jim Jagielski, Yann Ylavic] |
| 3805 |
|
| 3806 |
*) mod_alias: Introduce expression parser support for Alias, ScriptAlias |
| 3807 |
and Redirect. Limit Redirect expressions to directory (Location) context |
| 3808 |
and redirect statuses (implicit or explicit). |
| 3809 |
[Graham Leggett, Yann Ylavic, Ruediger Pluem] |
| 3810 |
|
| 3811 |
*) mod_proxy: Fix a race condition that caused a failed worker to be retried |
| 3812 |
before the retry period is over. [Ruediger Pluem] |
| 3813 |
|
| 3814 |
*) mod_autoindex: Allow autoindexes when neither mod_dir nor mod_mime are |
| 3815 |
loaded. [Eric Covener] |
| 3816 |
|
| 3817 |
*) mod_rewrite: Allow cookies set by mod_rewrite to contain ':' by accepting |
| 3818 |
';' as an alternate separator. PR47241. |
| 3819 |
[<bugzilla schermesser com>, Eric Covener] |
| 3820 |
|
| 3821 |
*) apxs: Add HTTPD_VERSION and HTTPD_MMN to the variables available with |
| 3822 |
apxs -q. PR58202. [Daniel Shahaf <danielsh apache.org>] |
| 3823 |
|
| 3824 |
*) mod_rewrite: Avoid a crash when lacking correct DB access permissions |
| 3825 |
when using RewriteMap with MapType dbd or fastdbd. [Christophe Jaillet] |
| 3826 |
|
| 3827 |
*) mod_authz_dbd: Avoid a crash when lacking correct DB access permissions. |
| 3828 |
PR 57868. [Jose Kahan <jose w3.org>, Yann Ylavic] |
| 3829 |
|
| 3830 |
*) mod_socache_memcache: Add the 'MemcacheConnTTL' directive to control how |
| 3831 |
long to keep idle connections with the memcache server(s). |
| 3832 |
Change default value from 600 usec (!) to 15 sec. PR 58091 |
| 3833 |
[Christophe Jaillet] |
| 3834 |
|
| 3835 |
*) mod_dir: Prevent the internal identifier "httpd/unix-directory" from |
| 3836 |
appearing as a Content-Type response header when requests for a directory |
| 3837 |
are rewritten by mod_rewrite. [Eric Covener] |
| 3838 |
|
| 3839 |
Changes with Apache 2.4.16 |
| 3840 |
|
| 3841 |
*) http: Fix LimitRequestBody checks when there is no more bytes to read. |
| 3842 |
[Michael Kaufmann <mail michael-kaufmann.ch>] |
| 3843 |
|
| 3844 |
*) mod_alias: Revert expression parser support for Alias, ScriptAlias |
| 3845 |
and Redirect due to a regression (introduced in 2.4.13, not released). |
| 3846 |
|
| 3847 |
*) mod_reqtimeout: Don't let pipelining checks and keep-alive times interfere |
| 3848 |
with the timeouts computed for subsequent requests. PR 56729. |
| 3849 |
[Eric Covener, Yann Ylavic] |
| 3850 |
|
| 3851 |
*) core: Avoid a possible truncation of the faulty header included in the |
| 3852 |
HTML response when LimitRequestFieldSize is reached. [Yann Ylavic] |
| 3853 |
|
| 3854 |
*) mod_ldap: In some case, LDAP_NO_SUCH_ATTRIBUTE could be returned instead |
| 3855 |
of an error during a compare operation. [Eric Covener] |
| 3856 |
|
| 3857 |
Changes with Apache 2.4.15 (not released) |
| 3858 |
|
| 3859 |
*) mod_ext_filter, mod_charset_lite: Avoid inadvertent filtering of protocol |
| 3860 |
data during read of chunked request bodies. PR 58049. |
| 3861 |
[Edward Lu <Chaosed0 gmail.com>] |
| 3862 |
|
| 3863 |
*) mod_ldap: Stop leaking LDAP connections when 'LDAPConnectionPoolTTL 0' |
| 3864 |
is configured. PR 58037. [Ted Phelps <phelps gnusto.com>] |
| 3865 |
|
| 3866 |
*) core: Allow spaces after chunk-size for compatibility with implementations |
| 3867 |
using a pre-filled buffer. [Yann Ylavic, Jeff Trawick] |
| 3868 |
|
| 3869 |
*) mod_ssl: Remove deprecated SSLCertificateChainFile warning. |
| 3870 |
[Yann Ylavic] |
| 3871 |
|
| 3872 |
Changes with Apache 2.4.14 (not released) |
| 3873 |
|
| 3874 |
*) SECURITY: CVE-2015-3183 (cve.mitre.org) |
| 3875 |
core: Fix chunk header parsing defect. |
| 3876 |
Remove apr_brigade_flatten(), buffering and duplicated code from |
| 3877 |
the HTTP_IN filter, parse chunks in a single pass with zero copy. |
| 3878 |
Limit accepted chunk-size to 2^63-1 and be strict about chunk-ext |
| 3879 |
authorized characters. [Graham Leggett, Yann Ylavic] |
| 3880 |
|
| 3881 |
*) SECURITY: CVE-2015-3185 (cve.mitre.org) |
| 3882 |
Replacement of ap_some_auth_required (unusable in Apache httpd 2.4) |
| 3883 |
with new ap_some_authn_required and ap_force_authn hook. [Ben Reser] |
| 3884 |
|
| 3885 |
Changes with Apache 2.4.13 (not released) |
| 3886 |
|
| 3887 |
*) SECURITY: CVE-2015-0253 (cve.mitre.org) |
| 3888 |
core: Fix a crash with ErrorDocument 400 pointing to a local URL-path |
| 3889 |
with the INCLUDES filter active, introduced in 2.4.11. PR 57531. |
| 3890 |
[Yann Ylavic] |
| 3891 |
|
| 3892 |
*) SECURITY: CVE-2015-0228 (cve.mitre.org) |
| 3893 |
mod_lua: A maliciously crafted websockets PING after a script |
| 3894 |
calls r:wsupgrade() can cause a child process crash. |
| 3895 |
[Edward Lu <Chaosed0 gmail.com>] |
| 3896 |
|
| 3897 |
*) mod_proxy: Don't put the worker in error state for 500 or 503 errors |
| 3898 |
returned by the backend unless failonstatus is configured to. PR 56925. |
| 3899 |
[Yann Ylavic] |
| 3900 |
|
| 3901 |
*) core: Don't lowercase the argument to SetHandler if it begins with |
| 3902 |
"proxy:unix". PR 57968. [Eric Covener] |
| 3903 |
|
| 3904 |
*) mod_ssl OCSP Stapling: Don't block initial handshakes while refreshing |
| 3905 |
the OCSP response for a different certificate. mod_ssl has an additional |
| 3906 |
global mutex, "ssl-stapling-refresh". PR 57131 (partial fix). |
| 3907 |
[Jeff Trawick] |
| 3908 |
|
| 3909 |
*) mod_authz_dbm: Fix crashes when "dbm-file-group" is used and |
| 3910 |
authz modules were loaded in the "wrong" order. [Joe Orton] |
| 3911 |
|
| 3912 |
*) mod_authn_dbd, mod_authz_dbd, mod_session_dbd, mod_rewrite: Fix lifetime |
| 3913 |
of DB lookup entries independently of the selected DB engine. PR 46421. |
| 3914 |
[Steven whitson <steven.whitson gmail com>, Jan Kaluza, Yann Ylavic]. |
| 3915 |
|
| 3916 |
*) In alignment with RFC 7525, the default recommended SSLCipherSuite |
| 3917 |
and SSLProxyCipherSuite now exclude RC4 as well as MD5. Also, the |
| 3918 |
default recommended SSLProtocol and SSLProxyProtocol directives now |
| 3919 |
exclude SSLv3. Existing configurations must be adjusted by the |
| 3920 |
administrator. [William Rowe] |
| 3921 |
|
| 3922 |
*) mod_ssl: Add support for extracting subjectAltName entries of type |
| 3923 |
rfc822Name and dNSName into SSL_{CLIENT,SERVER}_SAN_{Email,DNS}_n |
| 3924 |
environment variables. Also addresses PR 57207. [Kaspar Brand] |
| 3925 |
|
| 3926 |
*) dav_validate_request: avoid validating locks and ETags when there are |
| 3927 |
no If headers providing them on a resource we aren't modifying. |
| 3928 |
[Ben Reser] |
| 3929 |
|
| 3930 |
*) mod_proxy_scgi: ProxySCGIInternalRedirect now allows an alternate |
| 3931 |
response header to be used by the application, for when the application |
| 3932 |
or framework is unable to return Location in the internal-redirect |
| 3933 |
form. [Jeff Trawick] |
| 3934 |
|
| 3935 |
*) core: Cleanup the request soon/even if some output filter fails to |
| 3936 |
handle the EOR bucket. [Yann Ylavic] |
| 3937 |
|
| 3938 |
*) mpm_event: Allow for timer events duplicates. [Jim Jagielski, Yann Ylavic] |
| 3939 |
|
| 3940 |
*) mod_proxy, mod_ssl, mod_cache_socache, mod_socache_*: Support machine |
| 3941 |
readable server-status produced when using the "?auto" query string. |
| 3942 |
[Rainer Jung] |
| 3943 |
|
| 3944 |
*) mod_status: Add more data to machine readable server-status produced |
| 3945 |
when using the "?auto" query string. [Rainer Jung] |
| 3946 |
|
| 3947 |
*) mod_ssl: Check for the Entropy Gathering Daemon (EGD) availability at |
| 3948 |
configure time (RAND_egd), and complain if SSLRandomSeed requires using |
| 3949 |
it otherwise. [Bernard Spil <pil.oss gmail com>, Stefan Sperling, |
| 3950 |
Kaspar Brand] |
| 3951 |
|
| 3952 |
*) mod_ssl: make sure to consistently output SSLCertificateChainFile |
| 3953 |
deprecation warnings, when encountered in a VirtualHost block. |
| 3954 |
[Falco Schwarz <hiding falco.me>] |
| 3955 |
|
| 3956 |
*) mod_log_config: Add "%{UNIT}T" format to output request duration in |
| 3957 |
seconds, milliseconds or microseconds depending on UNIT ("s", "ms", "us"). |
| 3958 |
[Ben Reser, Rainer Jung] |
| 3959 |
|
| 3960 |
*) Allow FallbackResource to work when a directory is requested and |
| 3961 |
there is no autoindex nor DirectoryIndex. |
| 3962 |
[Jack <tjerk.meesters gmail.com>, Eric Covener] |
| 3963 |
|
| 3964 |
*) mod_proxy_wstunnel: Bypass the handler while the connection is not |
| 3965 |
upgraded to WebSocket, so that other modules can possibly take over |
| 3966 |
the leading HTTP requests. [Yann Ylavic] |
| 3967 |
|
| 3968 |
*) mod_http: Fix incorrect If-Match handling. PR 57358 |
| 3969 |
[Kunihiko Sakamoto <ksakamoto google.com>] |
| 3970 |
|
| 3971 |
*) mod_ssl: Add a warning if protocol given in SSLProtocol or SSLProxyProtocol |
| 3972 |
will override other parameters given in the same directive. This could be |
| 3973 |
a missing + or - prefix. PR 52820 [Christophe Jaillet] |
| 3974 |
|
| 3975 |
*) core, modules: Avoid error response/document handling by the core if some |
| 3976 |
handler or input filter already did it while reading the request (causing |
| 3977 |
a double response body). [Yann Ylavic] |
| 3978 |
|
| 3979 |
*) mod_proxy_ajp: Fix client connection errors handling and logged status |
| 3980 |
when it occurs. PR 56823. [Yann Ylavic] |
| 3981 |
|
| 3982 |
*) mod_proxy: Use the correct server name for SNI in case the backend |
| 3983 |
SSL connection itself is established via a proxy server. |
| 3984 |
PR 57139 [Szabolcs Gyurko <szabolcs gyurko.org>] |
| 3985 |
|
| 3986 |
*) mod_ssl: Fix possible crash when loading server certificate constraints. |
| 3987 |
PR 57694. [Paul Spangler <paul.spangler ni com>, Yann Ylavic] |
| 3988 |
|
| 3989 |
*) build: Don't load both mod_cgi and mod_cgid in the default configuration |
| 3990 |
if they're both built. [olli hauer <ohauer gmx.de>] |
| 3991 |
|
| 3992 |
*) mod_logio: Add LogIOTrackTTFB and %^FB logformat to log the time |
| 3993 |
taken to start writing response headers. [Eric Covener] |
| 3994 |
|
| 3995 |
*) mod_ssl: Avoid compilation errors with LibreSSL related to |
| 3996 |
the use of ENGINE_CTRL_CHIL_SET_FORKCHECK. |
| 3997 |
[Stuart Henderson <sthen openbsd.org>] |
| 3998 |
|
| 3999 |
*) mod_proxy_http: Use the "Connection: close" header for requests to |
| 4000 |
backends not recycling connections (disablereuse), including the default |
| 4001 |
reverse and forward proxies. [Yann Ylavic] |
| 4002 |
|
| 4003 |
*) mod_proxy: Add ap_connection_reusable() for checking if a connection |
| 4004 |
is reusable as of this point in processing. [Jeff Trawick] |
| 4005 |
|
| 4006 |
*) mod_proxy_wstunnel: Avoid an empty response by failing with 502 (Bad |
| 4007 |
Gateway) when no response is ever received from the backend. |
| 4008 |
[Jan Kaluza] |
| 4009 |
|
| 4010 |
*) core_filters: Restore/disable TCP_NOPUSH option after non-blocking |
| 4011 |
sendfile. PR 53253. [Yann Ylavic] |
| 4012 |
|
| 4013 |
*) mod_buffer: Forward flushed input data immediately and avoid (unlikely) |
| 4014 |
access to freed memory. [Yann Ylavic, Christophe Jaillet] |
| 4015 |
|
| 4016 |
*) core: Add CGIPassAuth directive to control whether HTTP authorization |
| 4017 |
headers are passed to scripts as CGI variables. PR 56855. [Jeff |
| 4018 |
Trawick] |
| 4019 |
|
| 4020 |
*) core: Initialize scoreboard's used optional functions on graceful restarts |
| 4021 |
to avoid a crash when relocation occurs. PR 57177. [Yann Ylavic] |
| 4022 |
|
| 4023 |
*) mod_dav: Avoid a potential integer underflow in the lock timeout value sent |
| 4024 |
back to a client. The answer to a LOCK request could be an extremely large |
| 4025 |
integer if the time needed to lock the resource was longer that the |
| 4026 |
requested timeout given in the LOCK request. In such a case, we now answer |
| 4027 |
"Second-0". PR55420 |
| 4028 |
[Christophe Jaillet] |
| 4029 |
|
| 4030 |
*) mod_cgid: Within the first minute of a server start or restart, |
| 4031 |
allow mod_cgid to retry connecting to its daemon process. Previously, |
| 4032 |
'No such file or directory: unable to connect to cgi daemon...' could |
| 4033 |
be logged without an actual retry. PR57685. |
| 4034 |
[Edward Lu <Chaosed0 gmail.com>] |
| 4035 |
|
| 4036 |
*) mod_proxy: Use the original (non absolute) form of the request-line's URI |
| 4037 |
for requests embedded in CONNECT payloads used to connect SSL backends via |
| 4038 |
a ProxyRemote forward-proxy. PR 55892. [Hendrik Harms <hendrik.harms |
| 4039 |
gmail com>, William Rowe, Yann Ylavic] |
| 4040 |
|
| 4041 |
*) http: Make ap_die() robust against any HTTP error code and not modify |
| 4042 |
response status (finally logged) when nothing is to be done. PR 56035. |
| 4043 |
[Yann Ylavic] |
| 4044 |
|
| 4045 |
*) mod_proxy_connect/wstunnel: If both client and backend sides get readable |
| 4046 |
at the same time, don't lose errors occurring while forwarding on the first |
| 4047 |
side when none occurs next on the other side, and abort. [Yann Ylavic] |
| 4048 |
|
| 4049 |
*) mod_rewrite: Improve relative substitutions in per-directory/htaccess |
| 4050 |
context for directories found by mod_userdir and mod_alias. These no |
| 4051 |
longer require RewriteBase to be specified. [Eric Covener] |
| 4052 |
|
| 4053 |
*) mod_proxy_http: Don't expect the backend to ack the "Connection: close" to |
| 4054 |
finally close those not meant to be kept alive by SetEnv proxy-nokeepalive |
| 4055 |
or force-proxy-request-1.0. [Yann Ylavic] |
| 4056 |
|
| 4057 |
*) core: If explicitly configured, use the KeepaliveTimeout value of the |
| 4058 |
virtual host which handled the latest request on the connection, or by |
| 4059 |
default the one of the first virtual host bound to the same IP:port. |
| 4060 |
PR56226. [Yann Ylavic] |
| 4061 |
|
| 4062 |
*) mod_lua: After a r:wsupgrade(), mod_lua was not properly |
| 4063 |
responding to a websockets PING but instead invoking the specified |
| 4064 |
script. PR57524. [Edward Lu <Chaosed0 gmail.com>] |
| 4065 |
|
| 4066 |
*) mod_ssl: Add the SSL_CLIENT_CERT_RFC4523_CEA variable, which provides |
| 4067 |
a combination of certificate serialNumber and issuer as defined by |
| 4068 |
CertificateExactMatch in RFC4523. [Graham Leggett] |
| 4069 |
|
| 4070 |
*) core: Add expression support to ErrorDocument. Switch from a fixed |
| 4071 |
sized 664 byte array per merge to a hash table. [Graham Leggett] |
| 4072 |
|
| 4073 |
*) ab: Add missing longest request (100%) to CSV export. |
| 4074 |
[Marcin Fabrykowski <bugzilla fabrykowski.pl>] |
| 4075 |
|
| 4076 |
*) mod_macro: Clear macros before initialization to avoid use-after-free |
| 4077 |
on startup or restart when the module is linked statically. PR 57525 |
| 4078 |
[apache.org tech.futurequest.net, Yann Ylavic] |
| 4079 |
|
| 4080 |
*) mod_alias: Introduce expression parser support for Alias, ScriptAlias |
| 4081 |
and Redirect. [Graham Leggett] |
| 4082 |
|
| 4083 |
*) mod_ssl: 'SSLProtocol ALL' was being ignored in virtual host context. |
| 4084 |
PR 57100. [Michael Kaufmann <apache-bugzilla michael-kaufmann.ch>, |
| 4085 |
Yann Ylavic] |
| 4086 |
|
| 4087 |
*) mpm_event: Avoid access to the scoreboard from the connection while |
| 4088 |
it is suspended (waiting for events). [Eric Covener, Jeff Trawick] |
| 4089 |
|
| 4090 |
*) mod_ssl: Fix renegotiation failures redirected to an ErrorDocument. |
| 4091 |
PR 57334. [Yann Ylavic]. |
| 4092 |
|
| 4093 |
*) mod_deflate: A misplaced check prevents limiting small bodies with the |
| 4094 |
new inflate limits. PR56872. [Edward Lu, Eric Covener, Yann Ylavic] |
| 4095 |
|
| 4096 |
*) mod_proxy_ajp: Forward SSL protocol name (SSLv3, TLSv1.1 etc.) as a |
| 4097 |
request attribute to the backend. Recent Tomcat versions will extract |
| 4098 |
it and provide it as a servlet request attribute named |
| 4099 |
"org.apache.tomcat.util.net.secure_protocol_version". [Rainer Jung] |
| 4100 |
|
| 4101 |
*) core: Optimize string concatenation in expression parser when evaluating |
| 4102 |
a string expression. [Rainer Jung] |
| 4103 |
|
| 4104 |
*) acinclude.m4: Generate #LoadModule directive in default httpd.conf for |
| 4105 |
every --enable-mpms-shared. PR 53882. [olli hauer <ohauer gmx.de>, |
| 4106 |
Yann Ylavic] |
| 4107 |
|
| 4108 |
*) mod_authn_dbd: Fix the error message logged in case of error while querying |
| 4109 |
the database. This is associated to AH01656 and AH01661. [Christophe Jaillet] |
| 4110 |
|
| 4111 |
*) mod_authz_groupfile: Reduce the severity of AH01667 from ERROR to DEBUG, |
| 4112 |
because it may be evaluated inside <RequireAny>. PR55523. [Eric Covener] |
| 4113 |
|
| 4114 |
*) mod_ssl: Fix small memory leak during initialization when ECDH is used. |
| 4115 |
[Jan Kaluza] |
| 4116 |
|
| 4117 |
Changes with Apache 2.4.12 |
| 4118 |
|
| 4119 |
*) mpm_winnt: Accept utf-8 (Unicode) service names and descriptions for |
| 4120 |
internationalization. [William Rowe] |
| 4121 |
|
| 4122 |
*) mpm_winnt: Normalize the error and status messages emitted by service.c, |
| 4123 |
the service control interface for Windows. [William Rowe] |
| 4124 |
|
| 4125 |
*) configure: Fix --enable-v4-mapped configuration on *BSD. PR 53824. |
| 4126 |
[ olli hauer <ohauer gmx.de>, Yann Ylavic ] |
| 4127 |
|
| 4128 |
*) Reverted <DirectoryMatch > behavior regression introduced in 2.4.11 |
| 4129 |
(not released). |
| 4130 |
|
| 4131 |
Changes with Apache 2.4.11 (not released) |
| 4132 |
|
| 4133 |
*) SECURITY: CVE-2014-3583 (cve.mitre.org) |
| 4134 |
mod_proxy_fcgi: Fix a potential crash due to buffer over-read, with |
| 4135 |
response headers' size above 8K. [Yann Ylavic, Jeff Trawick] |
| 4136 |
|
| 4137 |
*) SECURITY: CVE-2014-3581 (cve.mitre.org) |
| 4138 |
mod_cache: Avoid a crash when Content-Type has an empty value. |
| 4139 |
PR 56924. [Mark Montague <mark catseye.org>, Jan Kaluza] |
| 4140 |
|
| 4141 |
*) SECURITY: CVE-2014-8109 (cve.mitre.org) |
| 4142 |
mod_lua: Fix handling of the Require line when a LuaAuthzProvider is |
| 4143 |
used in multiple Require directives with different arguments. |
| 4144 |
PR57204 [Edward Lu <Chaosed0 gmail.com>] |
| 4145 |
|
| 4146 |
*) SECURITY: CVE-2013-5704 (cve.mitre.org) |
| 4147 |
core: HTTP trailers could be used to replace HTTP headers |
| 4148 |
late during request processing, potentially undoing or |
| 4149 |
otherwise confusing modules that examined or modified |
| 4150 |
request headers earlier. Adds "MergeTrailers" directive to restore |
| 4151 |
legacy behavior. [Edward Lu, Yann Ylavic, Joe Orton, Eric Covener] |
| 4152 |
|
| 4153 |
*) mod_ssl: New directive SSLSessionTickets (On|Off). |
| 4154 |
The directive controls the use of TLS session tickets (RFC 5077), |
| 4155 |
default value is "On" (unchanged behavior). |
| 4156 |
Session ticket creation uses a random key created during web |
| 4157 |
server startup and recreated during restarts. No other key |
| 4158 |
recreation mechanism is available currently. Therefore using session |
| 4159 |
tickets without restarting the web server with an appropriate frequency |
| 4160 |
(e.g. daily) compromises perfect forward secrecy. [Rainer Jung] |
| 4161 |
|
| 4162 |
*) mod_proxy_fcgi: Provide some basic alternate options for specifying |
| 4163 |
how PATH_INFO is passed to FastCGI backends by adding significance to |
| 4164 |
the value of proxy-fcgi-pathinfo. PR 55329. [Eric Covener] |
| 4165 |
|
| 4166 |
*) mod_proxy_fcgi: Enable UDS backends configured with SetHandler/RewriteRule |
| 4167 |
to opt-in to connection reuse and other Proxy options via explicitly |
| 4168 |
declared "proxy workers" (<Proxy unix:... enablereuse=on max=...) |
| 4169 |
[Eric Covener] |
| 4170 |
|
| 4171 |
*) mod_proxy: Add "enablereuse" option as the inverse of "disablereuse". |
| 4172 |
[Eric Covener] |
| 4173 |
|
| 4174 |
*) mod_proxy_fcgi: Enable opt-in to TCP connection reuse by explicitly |
| 4175 |
setting proxy option disablereuse=off. [Eric Covener] PR 57378. |
| 4176 |
|
| 4177 |
*) event: Update the internal "connection id" when requests |
| 4178 |
move from thread to thread. Reuse can confuse modules like |
| 4179 |
mod_cgid. PR 57435. [Michael Thorpe <mike gistnet.com>] |
| 4180 |
|
| 4181 |
*) mod_proxy_fcgi: Remove proxy:balancer:// prefix from SCRIPT_FILENAME |
| 4182 |
passed to fastcgi backends. [Eric Covener] |
| 4183 |
|
| 4184 |
*) core: Configuration files with long lines and continuation characters |
| 4185 |
are not read properly. PR 55910. [Manuel Mausz <manuel-as mausz.at>] |
| 4186 |
|
| 4187 |
*) mod_include: the 'env' function was incorrectly handled as 'getenv' if the |
| 4188 |
leading 'e' was written in upper case in <!--#if expr="..." --> |
| 4189 |
statements. [Christophe Jaillet] |
| 4190 |
|
| 4191 |
*) split-logfile: Fix perl error: 'Can't use string ("example.org:80") |
| 4192 |
as a symbol ref while "strict refs"'. PR 56329. |
| 4193 |
[Holger Mauermann <mauermann gmail.com>] |
| 4194 |
|
| 4195 |
*) mod_proxy: Prevent ProxyPassReverse from doing a substitution when |
| 4196 |
the URL parameter interpolates to an empty string. PR 56603. |
| 4197 |
[<ajprout hotmail.com>] |
| 4198 |
|
| 4199 |
*) core: Fix -D[efined] or <Define>[d] variables lifetime across restarts. |
| 4200 |
PR 57328. [Armin Abfalterer <a.abfalterer gmail.com>, Yann Ylavic]. |
| 4201 |
|
| 4202 |
*) mod_proxy: Preserve original request headers even if they differ |
| 4203 |
from the ones to be forwarded to the backend. PR 45387. |
| 4204 |
[Yann Ylavic] |
| 4205 |
|
| 4206 |
*) mod_ssl: dump SSL IO/state for the write side of the connection(s), |
| 4207 |
like reads (level TRACE4). [Yann Ylavic] |
| 4208 |
|
| 4209 |
*) mod_proxy_fcgi: Ignore body data from backend for 304 responses. PR 57198. |
| 4210 |
[Jan Kaluza] |
| 4211 |
|
| 4212 |
*) mod_ssl: Do not crash when looking up SSL related variables during |
| 4213 |
expression evaluation on non SSL connections. PR 57070 [Ruediger Pluem] |
| 4214 |
|
| 4215 |
*) mod_proxy_ajp: Fix handling of the default port (8009) in the |
| 4216 |
ProxyPass and <Proxy> configurations. PR 57259. [Yann Ylavic] |
| 4217 |
|
| 4218 |
*) mpm_event: Avoid a possible use after free when notifying the end of |
| 4219 |
connection during lingering close. PR 57268. [Eric Covener, Yann Ylavic] |
| 4220 |
|
| 4221 |
*) mod_ssl: Fix recognition of OCSP stapling responses that are encoded |
| 4222 |
improperly or too large. [Jeff Trawick] |
| 4223 |
|
| 4224 |
*) core: Add ap_log_data(), ap_log_rdata(), etc. for logging buffers. |
| 4225 |
[Jeff Trawick] |
| 4226 |
|
| 4227 |
*) mod_proxy_fcgi, mod_authnz_fcgi: stop reading the response and issue an |
| 4228 |
error when parsing or forwarding the response fails. [Yann Ylavic] |
| 4229 |
|
| 4230 |
*) mod_ssl: Fix a memory leak in case of graceful restarts with OpenSSL >= 0.9.8e |
| 4231 |
PR 53435 [tadanori <tadanori2007 yahoo.com>, Sebastian Wiedenroth <wiedi frubar.net>] |
| 4232 |
|
| 4233 |
*) mod_proxy_connect: Don't issue AH02447 on sockets hangups, let the read |
| 4234 |
determine whether it is a normal close or a real error. PR 57168. [Yann |
| 4235 |
Ylavic] |
| 4236 |
|
| 4237 |
*) mod_proxy_wstunnel: abort backend connection on polling error to avoid |
| 4238 |
further processing. [Yann Ylavic] |
| 4239 |
|
| 4240 |
*) core: Support custom ErrorDocuments for HTTP 501 and 414 status codes. |
| 4241 |
PR 57167 [Edward Lu <Chaosed0 gmail.com>] |
| 4242 |
|
| 4243 |
*) mod_proxy_connect: Fix ProxyRemote to https:// backends on EBCDIC |
| 4244 |
systems. PR 57092 [Edward Lu <Chaosed0 gmail.com>] |
| 4245 |
|
| 4246 |
*) mod_cache: Avoid a 304 response to an unconditional request when an AH00752 |
| 4247 |
CacheLock error occurs during cache revalidation. [Eric Covener] |
| 4248 |
|
| 4249 |
*) mod_ssl: Move OCSP stapling information from a per-certificate store to |
| 4250 |
a per-server hash. PR 54357, PR 56919. [Alex Bligh <alex alex.org.uk>, |
| 4251 |
Yann Ylavic, Kaspar Brand] |
| 4252 |
|
| 4253 |
*) mod_cache_socache: Change average object size hint from 32 bytes to |
| 4254 |
2048 bytes. [Rainer Jung] |
| 4255 |
|
| 4256 |
*) mod_cache_socache: Add cache status to server-status. [Rainer Jung] |
| 4257 |
|
| 4258 |
*) event: Fix worker-listener deadlock in graceful restart. |
| 4259 |
PR 56960. |
| 4260 |
|
| 4261 |
*) Concat strings at compile time when possible. PR 53741. |
| 4262 |
|
| 4263 |
*) mod_substitute: Restrict configuration in .htaccess to |
| 4264 |
FileInfo as documented. [Rainer Jung] |
| 4265 |
|
| 4266 |
*) mod_substitute: Make maximum line length configurable. [Rainer Jung] |
| 4267 |
|
| 4268 |
*) mod_substitute: Fix line length limitation in case of regexp plus flatten. |
| 4269 |
[Rainer Jung] |
| 4270 |
|
| 4271 |
*) mod_proxy: Truncated character worker names are no longer fatal |
| 4272 |
errors. PR53218. [Jim Jagielski] |
| 4273 |
|
| 4274 |
*) mod_dav: Set r->status_line in dav_error_response. PR 55426. |
| 4275 |
|
| 4276 |
*) mod_proxy_http, mod_cache: Avoid (unlikely) accesses to freed memory. |
| 4277 |
[Yann Ylavic, Christophe Jaillet] |
| 4278 |
|
| 4279 |
*) http_protocol: fix logic in ap_method_list_(add|remove) in order: |
| 4280 |
- to correctly reset bits |
| 4281 |
- not to modify the 'method_mask' bitfield unnecessarily |
| 4282 |
[Christophe Jaillet] |
| 4283 |
|
| 4284 |
*) mod_slotmem_shm: Increase log level for some originally debug messages. |
| 4285 |
[Jim Jagielski] |
| 4286 |
|
| 4287 |
*) mod_ldap: In 2.4.10, some LDAP searches or comparisons might be done with |
| 4288 |
the wrong credentials when a backend connection is reused. |
| 4289 |
[Eric Covener] |
| 4290 |
|
| 4291 |
*) mod_macro: Add missing APLOGNO for some Warning log messages. |
| 4292 |
[Christophe Jaillet] |
| 4293 |
|
| 4294 |
*) mod_cache: Avoid sending 304 responses during failed revalidations |
| 4295 |
PR56881. [Eric Covener] |
| 4296 |
|
| 4297 |
*) mod_status: Honor client IP address using mod_remoteip. PR 55886. |
| 4298 |
[Jim Jagielski] |
| 4299 |
|
| 4300 |
*) cmake-based build for Windows: Fix incompatibility with cmake 2.8.12 |
| 4301 |
and later. PR 56615. [Chuck Liu <cliu81 gmail.com>, Jeff Trawick] |
| 4302 |
|
| 4303 |
*) mod_ratelimit: Drop severity of AH01455 and AH01457 (ap_pass_brigade |
| 4304 |
failed) messages from ERROR to TRACE1. Other filters do not bother |
| 4305 |
re-reporting failures from lower level filters. PR56832. [Eric Covener] |
| 4306 |
|
| 4307 |
*) core: Avoid useless warning message when parsing a section guarded by |
| 4308 |
<IfDefine foo> if $(foo) is used within the section. |
| 4309 |
PR 56503 [Christophe Jaillet] |
| 4310 |
|
| 4311 |
*) mod_proxy_fcgi: Fix faulty logging of large amounts of stderr from the |
| 4312 |
application. PR 56858. [Manuel Mausz <manuel-asf mausz.at>] |
| 4313 |
|
| 4314 |
*) mod_proxy_http: Proxy responses with error status and |
| 4315 |
"ProxyErrorOverride On" hang until proxy timeout. |
| 4316 |
PR53420 [Rainer Jung] |
| 4317 |
|
| 4318 |
*) mod_log_config: Allow three character log formats to be registered. For |
| 4319 |
backwards compatibility, the first character of a three-character format |
| 4320 |
must be the '^' (caret) character. [Eric Covener] |
| 4321 |
|
| 4322 |
*) mod_lua: Don't quote Expires and Path values. PR 56734. |
| 4323 |
[Keith Mashinter, <kmashint yahoo com>] |
| 4324 |
|
| 4325 |
*) mod_authz_core: Allow <AuthzProviderAlias>'es to be seen from auth |
| 4326 |
stanzas under virtual hosts. PR 56870. [Eric Covener] |
| 4327 |
|
| 4328 |
Changes with Apache 2.4.10 |
| 4329 |
|
| 4330 |
*) SECURITY: CVE-2014-0117 (cve.mitre.org) |
| 4331 |
mod_proxy: Fix crash in Connection header handling which allowed a denial |
| 4332 |
of service attack against a reverse proxy with a threaded MPM. |
| 4333 |
[Ben Reser] |
| 4334 |
|
| 4335 |
*) SECURITY: CVE-2014-3523 (cve.mitre.org) |
| 4336 |
Fix a memory consumption denial of service in the WinNT MPM, used in all |
| 4337 |
Windows installations. Workaround: AcceptFilter <protocol> {none|connect} |
| 4338 |
[Jeff Trawick] |
| 4339 |
|
| 4340 |
*) SECURITY: CVE-2014-0226 (cve.mitre.org) |
| 4341 |
Fix a race condition in scoreboard handling, which could lead to |
| 4342 |
a heap buffer overflow. [Joe Orton, Eric Covener] |
| 4343 |
|
| 4344 |
*) SECURITY: CVE-2014-0118 (cve.mitre.org) |
| 4345 |
mod_deflate: The DEFLATE input filter (inflates request bodies) now |
| 4346 |
limits the length and compression ratio of inflated request bodies to |
| 4347 |
avoid denial of service via highly compressed bodies. See directives |
| 4348 |
DeflateInflateLimitRequestBody, DeflateInflateRatioLimit, |
| 4349 |
and DeflateInflateRatioBurst. [Yann Ylavic, Eric Covener] |
| 4350 |
|
| 4351 |
*) SECURITY: CVE-2014-0231 (cve.mitre.org) |
| 4352 |
mod_cgid: Fix a denial of service against CGI scripts that do |
| 4353 |
not consume stdin that could lead to lingering HTTPD child processes |
| 4354 |
filling up the scoreboard and eventually hanging the server. By |
| 4355 |
default, the client I/O timeout (Timeout directive) now applies to |
| 4356 |
communication with scripts. The CGIDScriptTimeout directive can be |
| 4357 |
used to set a different timeout for communication with scripts. |
| 4358 |
[Rainer Jung, Eric Covener, Yann Ylavic] |
| 4359 |
|
| 4360 |
*) mod_ssl: Extend the scope of SSLSessionCacheTimeout to sessions |
| 4361 |
resumed by TLS session resumption (RFC 5077). [Rainer Jung] |
| 4362 |
|
| 4363 |
*) mod_deflate: Don't fail when flushing inflated data to the user-agent |
| 4364 |
and that coincides with the end of stream ("Zlib error flushing inflate |
| 4365 |
buffer"). PR 56196. [Christoph Fausak <christoph fausak glueckkanja.com>] |
| 4366 |
|
| 4367 |
*) mod_proxy_ajp: Forward local IP address as a custom request attribute |
| 4368 |
like we already do for the remote port. [Rainer Jung] |
| 4369 |
|
| 4370 |
*) core: Include any error notes set by modules in the canned error |
| 4371 |
response for 403 errors. [Jeff Trawick] |
| 4372 |
|
| 4373 |
*) mod_ssl: Set an error note for requests rejected due to |
| 4374 |
SSLStrictSNIVHostCheck. [Jeff Trawick] |
| 4375 |
|
| 4376 |
*) mod_ssl: Fix issue with redirects to error documents when handling |
| 4377 |
SNI errors. [Jeff Trawick] |
| 4378 |
|
| 4379 |
*) mod_ssl: Fix tmp DH parameter leak, adjust selection to prefer |
| 4380 |
larger keys and support up to 8192-bit keys. [Ruediger Pluem, |
| 4381 |
Joe Orton] |
| 4382 |
|
| 4383 |
*) mod_dav: Fix improper encoding in PROPFIND responses. PR 56480. |
| 4384 |
[Ben Reser] |
| 4385 |
|
| 4386 |
*) WinNT MPM: Improve error handling for termination events in child. |
| 4387 |
[Jeff Trawick] |
| 4388 |
|
| 4389 |
*) mod_proxy: When ping/pong is configured for a worker, don't send or |
| 4390 |
forward "100 Continue" (interim) response to the client if it does |
| 4391 |
not expect one. [Yann Ylavic] |
| 4392 |
|
| 4393 |
*) mod_ldap: Be more conservative with the last-used time for |
| 4394 |
LDAPConnectionPoolTTL. PR54587 [Eric Covener] |
| 4395 |
|
| 4396 |
*) mod_ldap: LDAP connections used for authn were not respecting |
| 4397 |
LDAPConnectionPoolTTL. PR54587 [Eric Covener] |
| 4398 |
|
| 4399 |
*) mod_proxy_fcgi: Fix occasional high CPU when handling request bodies. |
| 4400 |
[Jeff Trawick] |
| 4401 |
|
| 4402 |
*) event MPM: Fix possible crashes (third-party modules accessing c->sbh) |
| 4403 |
or occasional missed mod_status updates under load. PR 56639. |
| 4404 |
[Edward Lu <Chaosed0 gmail com>] |
| 4405 |
|
| 4406 |
*) mod_authnz_ldap: Support primitive LDAP servers do not accept |
| 4407 |
filters, such as "SDBM-backed LDAP" on z/OS, by allowing a special |
| 4408 |
filter "none" to be specified in AuthLDAPURL. [Eric Covener] |
| 4409 |
|
| 4410 |
*) mod_deflate: Fix inflation of files larger than 4GB. PR 56062. |
| 4411 |
[Lukas Bezdicka <social v3.sk>] |
| 4412 |
|
| 4413 |
*) mod_deflate: Handle Zlib header and validation bytes received in multiple |
| 4414 |
chunks. PR 46146. [Yann Ylavic] |
| 4415 |
|
| 4416 |
*) mod_proxy: Allow reverse-proxy to be set via explicit handler. |
| 4417 |
[ryo takatsuki <ryotakatsuki gmail com>] |
| 4418 |
|
| 4419 |
*) ab: support custom HTTP method with -m argument. PR 56604. |
| 4420 |
[Roman Jurkov <winfinit gmail.com>] |
| 4421 |
|
| 4422 |
*) mod_proxy_balancer: Correctly encode user provided data in management |
| 4423 |
interface. PR 56532 [Maksymilian, <max cert.cx>] |
| 4424 |
|
| 4425 |
*) mod_proxy: Don't limit the size of the connectable Unix Domain Socket |
| 4426 |
paths. [Graham Dumpleton, Christophe Jaillet, Yann Ylavic] |
| 4427 |
|
| 4428 |
*) mod_proxy_fcgi: Support iobuffersize parameter. [Jeff Trawick] |
| 4429 |
|
| 4430 |
*) event: Send the SSL close notify alert when the KeepAliveTimeout |
| 4431 |
expires. PR54998. [Yann Ylavic] |
| 4432 |
|
| 4433 |
*) mod_ssl: Ensure that the SSL close notify alert is flushed to the client. |
| 4434 |
PR54998. [Tim Kosse <tim.kosse filezilla-project.org>, Yann Ylavic] |
| 4435 |
|
| 4436 |
*) mod_proxy: Shutdown (eg. SSL close notify) the backend connection before |
| 4437 |
closing. [Yann Ylavic] |
| 4438 |
|
| 4439 |
*) mod_auth_form: Add a debug message when the fields on a form are not |
| 4440 |
recognised. [Graham Leggett] |
| 4441 |
|
| 4442 |
*) mod_cache: Preserve non-cacheable headers forwarded from an origin 304 |
| 4443 |
response. PR 55547. [Yann Ylavic] |
| 4444 |
|
| 4445 |
*) mod_proxy_wstunnel: Fix the use of SSL connections with the "wss:" |
| 4446 |
scheme. PR55320. [Alex Liu <alex.leo.ca gmail.com>] |
| 4447 |
|
| 4448 |
*) mod_socache_shmcb: Correct counting of expirations for status display. |
| 4449 |
Expirations happening during retrieval were not counted. [Rainer Jung] |
| 4450 |
|
| 4451 |
*) mod_cache: Retry unconditional request with the full URL (including the |
| 4452 |
query-string) when the origin server's 304 response does not match the |
| 4453 |
conditions used to revalidate the stale entry. [Yann Ylavic]. |
| 4454 |
|
| 4455 |
*) mod_alias: Stop setting CONTEXT_PREFIX and CONTEXT_DOCUMENT environment |
| 4456 |
variables as a result of AliasMatch. [Eric Covener] |
| 4457 |
|
| 4458 |
*) mod_cache: Don't add cached/revalidated entity headers to a 304 response. |
| 4459 |
PR 55547. [Yann Ylavic] |
| 4460 |
|
| 4461 |
*) mod_proxy_scgi: Support Unix sockets. ap_proxy_port_of_scheme(): |
| 4462 |
Support default SCGI port (4000). [Jeff Trawick] |
| 4463 |
|
| 4464 |
*) mod_cache: Fix AH00784 errors on Windows when the the CacheLock directive |
| 4465 |
is enabled. [Eric Covener] |
| 4466 |
|
| 4467 |
*) mod_expires: don't add Expires header to error responses (4xx/5xx), |
| 4468 |
be they generated or forwarded. PR 55669. [Yann Ylavic] |
| 4469 |
|
| 4470 |
*) mod_proxy_fcgi: Don't segfault when failing to connect to the backend. |
| 4471 |
(regression in 2.4.9 release) [Jeff Trawick] |
| 4472 |
|
| 4473 |
*) mod_authn_socache: Fix crash at startup in certain configurations. |
| 4474 |
PR 56371. (regression in 2.4.7) [Jan Kaluza] |
| 4475 |
|
| 4476 |
*) mod_ssl: restore argument structure for "exec"-type SSLPassPhraseDialog |
| 4477 |
programs to the form used in releases up to 2.4.7, and emulate |
| 4478 |
a backwards-compatible behavior for existing setups. [Kaspar Brand] |
| 4479 |
|
| 4480 |
*) mod_ssl: Add SSLOCSPUseRequestNonce directive to control whether or not |
| 4481 |
OCSP requests should use a nonce to be checked against the responder's |
| 4482 |
one. PR 56233. [Yann Ylavic, Kaspar Brand] |
| 4483 |
|
| 4484 |
*) mod_ssl: "SSLEngine off" will now override a Listen-based default |
| 4485 |
and does disable mod_ssl for the vhost. [Joe Orton] |
| 4486 |
|
| 4487 |
*) mod_lua: Enforce the max post size allowed via r:parsebody() |
| 4488 |
[Daniel Gruno] |
| 4489 |
|
| 4490 |
*) mod_lua: Use binary comparison to find boundaries for multipart |
| 4491 |
objects, as to not terminate our search prematurely when hitting |
| 4492 |
a NULL byte. [Daniel Gruno] |
| 4493 |
|
| 4494 |
*) mod_ssl: add workaround for SSLCertificateFile when using OpenSSL |
| 4495 |
versions before 0.9.8h and not specifying an SSLCertificateChainFile |
| 4496 |
(regression introduced with 2.4.8). PR 56410. [Kaspar Brand] |
| 4497 |
|
| 4498 |
*) mod_ssl: bring SNI behavior into better conformance with RFC 6066: |
| 4499 |
no longer send warning-level unrecognized_name(112) alerts, |
| 4500 |
and limit startup warnings to cases where an OpenSSL version |
| 4501 |
without TLS extension support is used. PR 56241. [Kaspar Brand] |
| 4502 |
|
| 4503 |
*) mod_proxy_html: Avoid some possible memory access violation in case of |
| 4504 |
specially crafted files, when the ProxyHTMLMeta directive is turned on. |
| 4505 |
Follow up of PR 56287 [Christophe Jaillet] |
| 4506 |
|
| 4507 |
*) mod_auth_form: Make sure the optional functions are loaded even when |
| 4508 |
the AuthFormProvider isn't specified. [Graham Leggett] |
| 4509 |
|
| 4510 |
*) mod_ssl: avoid processing bogus SSLCertificateKeyFile values |
| 4511 |
(and logging garbled file names). PR 56306. [Kaspar Brand] |
| 4512 |
|
| 4513 |
*) mod_ssl: fix merging of global and vhost-level settings with the |
| 4514 |
SSLCertificateFile, SSLCertificateKeyFile, and SSLOpenSSLConfCmd |
| 4515 |
directives. PR 56353. [Kaspar Brand] |
| 4516 |
|
| 4517 |
*) mod_headers: Allow the "value" parameter of Header and RequestHeader to |
| 4518 |
contain an ap_expr expression if prefixed with "expr=". [Eric Covener] |
| 4519 |
|
| 4520 |
*) rotatelogs: Avoid creation of zombie processes when -p is used on |
| 4521 |
Unix platforms. [Joe Orton] |
| 4522 |
|
| 4523 |
*) mod_authnz_fcgi: New module to enable FastCGI authorizer |
| 4524 |
applications to authenticate and/or authorize clients. |
| 4525 |
[Jeff Trawick] |
| 4526 |
|
| 4527 |
*) mod_proxy: Do not try to parse the regular expressions passed by |
| 4528 |
ProxyPassMatch as URL as they do not follow their syntax. |
| 4529 |
PR 56074. [Ruediger Pluem] |
| 4530 |
|
| 4531 |
*) mod_reqtimeout: Resolve unexpected timeouts on keepalive requests |
| 4532 |
under the Event MPM. PR56216. [Frank Meier <frank meier ergon ch>] |
| 4533 |
|
| 4534 |
*) mod_proxy_fcgi: Fix sending of response without some HTTP headers |
| 4535 |
that might be set by filters. PR 55558. [Jim Riggs <jim riggs.me>] |
| 4536 |
|
| 4537 |
*) mod_proxy_html: Do not delete the wrong data from HTML code when a |
| 4538 |
"http-equiv" meta tag specifies a Content-Type behind any other |
| 4539 |
"http-equiv" meta tag. PR 56287 [Micha Lenk <micha lenk info>] |
| 4540 |
|
| 4541 |
*) mod_proxy: Don't reuse a SSL backend connection whose requested SNI |
| 4542 |
differs. PR 55782. [Yann Ylavic] |
| 4543 |
|
| 4544 |
*) Add suspend_connection and resume_connection hooks to notify modules |
| 4545 |
when the thread/connection relationship changes. (Should be implemented |
| 4546 |
for any third-party async MPMs.) [Jeff Trawick] |
| 4547 |
|
| 4548 |
*) mod_proxy_wstunnel: Don't issue AH02447 and log a 500 on routine |
| 4549 |
hangups from websockets origin servers. PR 56299 |
| 4550 |
[Yann Ylavic, Edward Lu <Chaosed0 gmail com>, Eric Covener] |
| 4551 |
|
| 4552 |
*) mod_proxy_wstunnel: Don't pool backend websockets connections, |
| 4553 |
because we need to handshake every time. PR 55890. |
| 4554 |
[Eric Covener] |
| 4555 |
|
| 4556 |
*) mod_lua: Redesign how request record table access behaves, |
| 4557 |
in order to utilize the request record from within these tables. |
| 4558 |
[Daniel Gruno] |
| 4559 |
|
| 4560 |
*) mod_lua: Add r:wspeek for peeking at WebSocket frames. [Daniel Gruno] |
| 4561 |
|
| 4562 |
*) mod_lua: Log an error when the initial parsing of a Lua file fails. |
| 4563 |
[Daniel Gruno, Felipe Daragon <filipe syhunt com>] |
| 4564 |
|
| 4565 |
*) mod_lua: Reformat and escape script error output. |
| 4566 |
[Daniel Gruno, Felipe Daragon <filipe syhunt com>] |
| 4567 |
|
| 4568 |
*) mod_lua: URL-escape cookie keys/values to prevent tainted cookie data |
| 4569 |
from causing response splitting. |
| 4570 |
[Daniel Gruno, Felipe Daragon <filipe syhunt com>] |
| 4571 |
|
| 4572 |
*) mod_lua: Disallow newlines in table values inside the request_rec, |
| 4573 |
to prevent HTTP Response Splitting via tainted headers. |
| 4574 |
[Daniel Gruno, Felipe Daragon <filipe syhunt com>] |
| 4575 |
|
| 4576 |
*) mod_lua: Remove the non-working early/late arguments for |
| 4577 |
LuaHookCheckUserID. [Daniel Gruno] |
| 4578 |
|
| 4579 |
*) mod_lua: Change IVM storage to use shm [Daniel Gruno] |
| 4580 |
|
| 4581 |
*) mod_lua: More verbose error logging when a handler function cannot be |
| 4582 |
found. [Daniel Gruno] |
| 4583 |
|
| 4584 |
Changes with Apache 2.4.9 |
| 4585 |
|
| 4586 |
*) mod_ssl: Work around a bug in some older versions of OpenSSL that |
| 4587 |
would cause a crash in SSL_get_certificate for servers where the |
| 4588 |
certificate hadn't been sent. [Stephen Henson] |
| 4589 |
|
| 4590 |
*) mod_lua: Add a fixups hook that checks if the original request is intended |
| 4591 |
for LuaMapHandler. This fixes a bug where FallbackResource invalidates the |
| 4592 |
LuaMapHandler directive in certain cases by changing the URI before the map |
| 4593 |
handler code executes [Daniel Gruno, Daniel Ferradal <dferradal gmail com>]. |
| 4594 |
|
| 4595 |
Changes with Apache 2.4.8 (not released) |
| 4596 |
|
| 4597 |
*) SECURITY: CVE-2014-0098 (cve.mitre.org) |
| 4598 |
Clean up cookie logging with fewer redundant string parsing passes. |
| 4599 |
Log only cookies with a value assignment. Prevents segfaults when |
| 4600 |
logging truncated cookies. |
| 4601 |
[William Rowe, Ruediger Pluem, Jim Jagielski] |
| 4602 |
|
| 4603 |
*) SECURITY: CVE-2013-6438 (cve.mitre.org) |
| 4604 |
mod_dav: Keep track of length of cdata properly when removing |
| 4605 |
leading spaces. Eliminates a potential denial of service from |
| 4606 |
specifically crafted DAV WRITE requests |
| 4607 |
[Amin Tora <Amin.Tora neustar.biz>] |
| 4608 |
|
| 4609 |
*) core: Support named groups and backreferences within the LocationMatch, |
| 4610 |
DirectoryMatch, FilesMatch and ProxyMatch directives. (Requires |
| 4611 |
non-ancient PCRE library) [Graham Leggett] |
| 4612 |
|
| 4613 |
*) core: draft-ietf-httpbis-p1-messaging-23 corrections regarding |
| 4614 |
TE/CL conflicts. [Yann Ylavic, Jim Jagielski] |
| 4615 |
|
| 4616 |
*) core: Detect incomplete request and response bodies, log an error and |
| 4617 |
forward it to the underlying filters. PR 55475 [Yann Ylavic] |
| 4618 |
|
| 4619 |
*) mod_dir: Add DirectoryCheckHandler to allow a 2.2-like behavior, skipping |
| 4620 |
execution when a handler is already set. PR53929. [Eric Covener] |
| 4621 |
|
| 4622 |
*) mod_ssl: Do not perform SNI / Host header comparison in case of a |
| 4623 |
forward proxy request. [Ruediger Pluem] |
| 4624 |
|
| 4625 |
*) mod_ssl: Remove the hardcoded algorithm-type dependency for the |
| 4626 |
SSLCertificateFile and SSLCertificateKeyFile directives, to enable |
| 4627 |
future algorithm agility, and deprecate the SSLCertificateChainFile |
| 4628 |
directive (obsoleted by SSLCertificateFile). [Kaspar Brand] |
| 4629 |
|
| 4630 |
*) mod_rewrite: Add RewriteOptions InheritDown, InheritDownBefore, |
| 4631 |
and IgnoreInherit to allow RewriteRules to be pushed from parent scopes |
| 4632 |
to child scopes without explicitly configuring each child scope. |
| 4633 |
PR56153. [Edward Lu <Chaosed0 gmail com>] |
| 4634 |
|
| 4635 |
*) prefork: Fix long delays when doing a graceful restart. |
| 4636 |
PR 54852 [Jim Jagielski, Arkadiusz Miskiewicz <arekm maven pl>] |
| 4637 |
|
| 4638 |
*) FreeBSD: Disable IPv4-mapped listening sockets by default for versions |
| 4639 |
5+ instead of just for FreeBSD 5. PR 53824. [Jeff Trawick] |
| 4640 |
|
| 4641 |
*) mod_proxy_wstunnel: Avoid busy loop on client errors, drop message |
| 4642 |
IDs 02445, 02446, and 02448 to TRACE1 from DEBUG. PR 56145. |
| 4643 |
[Joffroy Christen <joffroy.christen solvaxis com>, Eric Covener] |
| 4644 |
|
| 4645 |
*) mod_remoteip: Correct the trusted proxy match test. PR 54651. |
| 4646 |
[Yoshinori Ehara <yoshinori ehara gmail com>, Eugene L <eugenel amazon com>] |
| 4647 |
|
| 4648 |
*) mod_proxy_fcgi: Fix error message when an unexpected protocol version |
| 4649 |
number is received from the application. PR 56110. [Jeff Trawick] |
| 4650 |
|
| 4651 |
*) mod_remoteip: Use the correct IP addresses to populate the proxy_ips field. |
| 4652 |
PR 55972. [Mike Rumph] |
| 4653 |
|
| 4654 |
*) mod_lua: Update r:setcookie() to accept a table of options and add domain, |
| 4655 |
path and httponly to the list of options available to set. |
| 4656 |
PR 56128 [Edward Lu <Chaosed0 gmail com>, Daniel Gruno] |
| 4657 |
|
| 4658 |
*) mod_lua: Fix r:setcookie() to add, rather than replace, |
| 4659 |
the Set-Cookie header. PR56105 |
| 4660 |
[Kevin J Walters <kjw ms com>, Edward Lu <Chaosed0 gmail com>] |
| 4661 |
|
| 4662 |
*) mod_lua: Allow for database results to be returned as a hash with |
| 4663 |
row-name/value pairs instead of just row-number/value. [Daniel Gruno] |
| 4664 |
|
| 4665 |
*) mod_rewrite: Add %{CONN_REMOTE_ADDR} as the non-useragent counterpart to |
| 4666 |
%{REMOTE_ADDR}. PR 56094. [Edward Lu <Chaosed0 gmail com>] |
| 4667 |
|
| 4668 |
*) WinNT MPM: If ap_run_pre_connection() fails or sets c->aborted, don't |
| 4669 |
save the socket for reuse by the next worker as if it were an |
| 4670 |
APR_SO_DISCONNECTED socket. Restores 2.2 behavior. [Eric Covener] |
| 4671 |
|
| 4672 |
*) mod_dir: Don't search for a DirectoryIndex or DirectorySlash on a URL |
| 4673 |
that was just rewritten by mod_rewrite. PR53929. [Eric Covener] |
| 4674 |
|
| 4675 |
*) mod_session: When we have a session we were unable to decode, |
| 4676 |
behave as if there was no session at all. [Thomas Eckert |
| 4677 |
<thomas.r.w.eckert gmail com>] |
| 4678 |
|
| 4679 |
*) mod_session: Fix problems interpreting the SessionInclude and |
| 4680 |
SessionExclude configuration. PR 56038. [Erik Pearson |
| 4681 |
<erik adaptations.com>] |
| 4682 |
|
| 4683 |
*) mod_authn_core: Allow <AuthnProviderAlias>'es to be seen from auth |
| 4684 |
stanzas under virtual hosts. PR 55622. [Eric Covener] |
| 4685 |
|
| 4686 |
*) mod_proxy_fcgi: Use apr_socket_timeout_get instead of hard-coded |
| 4687 |
30 seconds timeout. [Jan Kaluza] |
| 4688 |
|
| 4689 |
*) build: only search for modules (config*.m4) in known subdirectories, see |
| 4690 |
build/config-stubs. [Stefan Fritsch] |
| 4691 |
|
| 4692 |
*) mod_cache_disk: Fix potential hangs on Windows when using mod_cache_disk. |
| 4693 |
PR 55833. [Eric Covener] |
| 4694 |
|
| 4695 |
*) mod_ssl: Add support for OpenSSL configuration commands by introducing |
| 4696 |
the SSLOpenSSLConfCmd directive. [Stephen Henson, Kaspar Brand] |
| 4697 |
|
| 4698 |
*) mod_proxy: Remove (never documented) <Proxy ~ wildcard-url> syntax which |
| 4699 |
is equivalent to <ProxyMatch wildcard-url>. [Christophe Jaillet] |
| 4700 |
|
| 4701 |
*) mod_authz_user, mod_authz_host, mod_authz_groupfile, mod_authz_dbm, |
| 4702 |
mod_authz_dbd, mod_authnz_ldap: Support the expression parser within the |
| 4703 |
require directives. [Graham Leggett] |
| 4704 |
|
| 4705 |
*) mod_proxy_http: Core dumped under high load. PR 50335. |
| 4706 |
[Jan Kaluza <jkaluza redhat.com>] |
| 4707 |
|
| 4708 |
*) mod_socache_shmcb.c: Remove arbitrary restriction on shared memory size |
| 4709 |
previously limited to 64MB. [Jens Låås <jelaas gmail.com>] |
| 4710 |
|
| 4711 |
*) mod_lua: Use binary copy when dealing with uploads through r:parsebody() |
| 4712 |
to prevent truncating files. [Daniel Gruno] |
| 4713 |
|
| 4714 |
Changes with Apache 2.4.7 |
| 4715 |
|
| 4716 |
*) SECURITY: CVE-2013-4352 (cve.mitre.org) |
| 4717 |
mod_cache: Fix a NULL pointer deference which allowed untrusted |
| 4718 |
origin servers to crash mod_cache in a forward proxy |
| 4719 |
configuration. [Graham Leggett] |
| 4720 |
|
| 4721 |
*) APR 1.5.0 or later is now required for the event MPM. |
| 4722 |
|
| 4723 |
*) slotmem_shm: Error detection. [Jim Jagielski] |
| 4724 |
|
| 4725 |
*) event: Use skiplist data structure. [Jim Jagielski] |
| 4726 |
|
| 4727 |
*) event: Fail at startup with message AP02405 if the APR atomic |
| 4728 |
implementation is not compatible with the MPM. [Jim Jagielski] |
| 4729 |
|
| 4730 |
*) mpm_unix: Add ap_mpm_podx_* implementation to avoid code duplication |
| 4731 |
and align w/ trunk. [Jim Jagielski] |
| 4732 |
|
| 4733 |
*) Fix potential rejection of valid MaxMemFree and ThreadStackSize |
| 4734 |
directives. [Mike Rumph <mike.rumph oracle.com>] |
| 4735 |
|
| 4736 |
*) mod_proxy_fcgi: Remove 64K limit on encoded length of all envvars. |
| 4737 |
An individual envvar with an encoded length of more than 16K will be |
| 4738 |
omitted. [Jeff Trawick] |
| 4739 |
|
| 4740 |
*) mod_proxy_fcgi: Handle reading protocol data that is split between |
| 4741 |
packets. [Jeff Trawick] |
| 4742 |
|
| 4743 |
*) mod_ssl: Improve handling of ephemeral DH and ECDH keys by |
| 4744 |
allowing custom parameters to be configured via SSLCertificateFile, |
| 4745 |
and by adding standardized DH parameters for 1024/2048/3072/4096 bits. |
| 4746 |
Unless custom parameters are configured, the standardized parameters |
| 4747 |
are applied based on the certificate's RSA/DSA key size. [Kaspar Brand] |
| 4748 |
|
| 4749 |
*) mod_ssl, configure: Require OpenSSL 0.9.8a or later. [Kaspar Brand] |
| 4750 |
|
| 4751 |
*) mod_ssl: drop support for export-grade ciphers with ephemeral RSA |
| 4752 |
keys, and unconditionally disable aNULL, eNULL and EXP ciphers |
| 4753 |
(not overridable via SSLCipherSuite). [Kaspar Brand] |
| 4754 |
|
| 4755 |
*) mod_proxy: Added support for unix domain sockets as the |
| 4756 |
backend server endpoint. This also introduces an unintended |
| 4757 |
incompatibility for third party modules using the mod_proxy |
| 4758 |
proxy_worker_shared structure, especially for balancer lbmethod |
| 4759 |
modules. [Jim Jagielski, Blaise Tarr <blaise tarr gmail com>] |
| 4760 |
|
| 4761 |
*) Add experimental cmake-based build system for Windows. [Jeff Trawick, |
| 4762 |
Tom Donovan] |
| 4763 |
|
| 4764 |
*) event MPM: Fix possible crashes (third party modules accessing c->sbh) |
| 4765 |
or occasional missed mod_status updates for some keepalive requests |
| 4766 |
under load. [Eric Covener] |
| 4767 |
|
| 4768 |
*) mod_authn_socache: Support optional initialization arguments for |
| 4769 |
socache providers. [Chris Darroch] |
| 4770 |
|
| 4771 |
*) mod_session: Reset the max-age on session save. PR 47476. [Alexey |
| 4772 |
Varlamov <alexey.v.varlamov gmail com>] |
| 4773 |
|
| 4774 |
*) mod_session: After parsing the value of the header specified by the |
| 4775 |
SessionHeader directive, remove the value from the response. PR 55279. |
| 4776 |
[Graham Leggett] |
| 4777 |
|
| 4778 |
*) mod_headers: Allow for format specifiers in the substitution string |
| 4779 |
when using Header edit. [Daniel Ruggeri] |
| 4780 |
|
| 4781 |
*) mod_dav: dav_resource->uri is treated as unencoded. This was an |
| 4782 |
unnecessary ABI changed introduced in 2.4.6. PR 55397. |
| 4783 |
|
| 4784 |
*) mod_dav: Don't require lock tokens for COPY source. PR 55306. |
| 4785 |
|
| 4786 |
*) core: Don't truncate output when sending is interrupted by a signal, |
| 4787 |
such as from an exiting CGI process. PR 55643. [Jeff Trawick] |
| 4788 |
|
| 4789 |
*) WinNT MPM: Exit the child if the parent process crashes or is terminated. |
| 4790 |
[Oracle Corporation] |
| 4791 |
|
| 4792 |
*) Windows: Correct failure to discard stderr in some error log |
| 4793 |
configurations. (Error message AH00093) [Jeff Trawick] |
| 4794 |
|
| 4795 |
*) mod_session_crypto: Allow using exec: calls to obtain session |
| 4796 |
encryption key. [Daniel Ruggeri] |
| 4797 |
|
| 4798 |
*) core: Add missing Reason-Phrase in HTTP response headers. |
| 4799 |
PR 54946. [Rainer Jung] |
| 4800 |
|
| 4801 |
*) mod_rewrite: Make rewrite websocket-aware to allow proxying. |
| 4802 |
PR 55598. [Chris Harris <chris.harris kitware com>] |
| 4803 |
|
| 4804 |
*) mod_ldap: When looking up sub-groups, use an implicit objectClass=* |
| 4805 |
instead of an explicit cn=* filter. [David Hawes <dhawes vt.edu>] |
| 4806 |
|
| 4807 |
*) ab: Add wait time, fix processing time, and output write errors only if |
| 4808 |
they occurred. [Christophe Jaillet] |
| 4809 |
|
| 4810 |
*) worker MPM: Don't forcibly kill worker threads if the child process is |
| 4811 |
exiting gracefully. [Oracle Corporation] |
| 4812 |
|
| 4813 |
*) core: apachectl -S prints wildcard name-based virtual hosts twice. |
| 4814 |
PR54948 [Eric Covener] |
| 4815 |
|
| 4816 |
*) mod_auth_basic: Add AuthBasicUseDigestAlgorithm directive to |
| 4817 |
allow migration of passwords from digest to basic authentication. |
| 4818 |
[Chris Darroch] |
| 4819 |
|
| 4820 |
*) ab: Add a new -l parameter in order not to check the length of the responses. |
| 4821 |
This can be useful with dynamic pages. |
| 4822 |
PR9945, PR27888, PR42040 [<ccikrs1 cranbrook edu>] |
| 4823 |
|
| 4824 |
*) Suppress formatting of startup messages written to the console when |
| 4825 |
ErrorLogFormat is used. [Jeff Trawick] |
| 4826 |
|
| 4827 |
*) mod_auth_digest: Be more specific when the realm mismatches because the |
| 4828 |
realm has not been specified. [Graham Leggett] |
| 4829 |
|
| 4830 |
*) mod_proxy: Add a note in the balancer manager stating whether changes |
| 4831 |
will or will not be persisted and whether settings are inherited. |
| 4832 |
[Daniel Ruggeri, Jim Jagielski] |
| 4833 |
|
| 4834 |
*) core: Add util_fcgi.h and associated definitions and support |
| 4835 |
routines for FastCGI, based largely on mod_proxy_fcgi. |
| 4836 |
[Jeff Trawick] |
| 4837 |
|
| 4838 |
*) mod_headers: Add 'Header note header-name note-name' for copying a response |
| 4839 |
headers value into a note. [Eric Covener] |
| 4840 |
|
| 4841 |
*) mod_headers: Add 'setifempty' command to Header and RequestHeader. |
| 4842 |
[Eric Covener] |
| 4843 |
|
| 4844 |
*) mod_logio: new format-specifier %S (sum) which is the sum of received |
| 4845 |
and sent byte counts. |
| 4846 |
PR54015 [Christophe Jaillet] |
| 4847 |
|
| 4848 |
*) mod_deflate: Improve error detection when decompressing request bodies |
| 4849 |
with trailing garbage: handle case where trailing bytes are in |
| 4850 |
the same bucket. [Rainer Jung] |
| 4851 |
|
| 4852 |
*) mod_authz_groupfile, mod_authz_user: Reduce severity of AH01671 and AH01663 |
| 4853 |
from ERROR to DEBUG, since these modules do not know what mod_authz_core |
| 4854 |
is doing with their AUTHZ_DENIED return value. [Eric Covener] |
| 4855 |
|
| 4856 |
*) mod_ldap: add TRACE5 for LDAP retries. [Eric Covener] |
| 4857 |
|
| 4858 |
*) mod_ldap: retry on an LDAP timeout during authn. [Eric Covener] |
| 4859 |
|
| 4860 |
*) mod_ldap: Change "LDAPReferrals off" to actually set the underlying LDAP |
| 4861 |
SDK option to OFF, and introduce "LDAPReferrals default" to take the SDK |
| 4862 |
default, sans rebind authentication callback. |
| 4863 |
[Jan Kaluza <kaluze AT redhat.com>] |
| 4864 |
|
| 4865 |
*) core: Log a message at TRACE1 when the client aborts a connection. |
| 4866 |
[Eric Covener] |
| 4867 |
|
| 4868 |
*) WinNT MPM: Don't crash during child process initialization if the |
| 4869 |
Listen protocol is unrecognized. [Jeff Trawick] |
| 4870 |
|
| 4871 |
*) modules: Fix some compiler warnings. [Guenter Knauf] |
| 4872 |
|
| 4873 |
*) Sync 2.4 and trunk |
| 4874 |
- Avoid some memory allocation and work when TRACE1 is not activated |
| 4875 |
- fix typo in include guard |
| 4876 |
- indent |
| 4877 |
- No need to lower the string before removing the path, it is just |
| 4878 |
a waste of time... |
| 4879 |
- Save a few cycles |
| 4880 |
[Christophe Jaillet <christophe.jaillet wanadoo.fr>] |
| 4881 |
|
| 4882 |
*) mod_filter: Add "change=no" as a proto-flag to FilterProtocol |
| 4883 |
to remove a providers initial flags set at registration time. |
| 4884 |
[Eric Covener] |
| 4885 |
|
| 4886 |
*) core, mod_ssl: Enable the ability for a module to reverse the sense of |
| 4887 |
a poll event from a read to a write or vice versa. This is a step on |
| 4888 |
the way to allow mod_ssl taking full advantage of the event MPM. |
| 4889 |
[Graham Leggett] |
| 4890 |
|
| 4891 |
*) Makefile.win: Install proper pcre DLL file during debug build install. |
| 4892 |
PR 55235. [Ben Reser <ben reser org>] |
| 4893 |
|
| 4894 |
*) mod_ldap: Fix a potential memory leak or corruption. PR 54936. |
| 4895 |
[Zhenbo Xu <zhenbo1987 gmail com>] |
| 4896 |
|
| 4897 |
*) ab: Fix potential buffer overflows when processing the T and X |
| 4898 |
command-line options. PR 55360. |
| 4899 |
[Mike Rumph <mike.rumph oracle.com>] |
| 4900 |
|
| 4901 |
*) fcgistarter: Specify SO_REUSEADDR to allow starting a server |
| 4902 |
with old connections in TIME_WAIT. [Jeff Trawick] |
| 4903 |
|
| 4904 |
*) core: Add open_htaccess hook which, in conjunction with dirwalk_stat |
| 4905 |
and post_perdir_config (introduced in 2.4.5), allows mpm-itk to be |
| 4906 |
used without patches to httpd core. [Stefan Fritsch] |
| 4907 |
|
| 4908 |
*) support/htdbm: fix processing of -t command line switch. Regression |
| 4909 |
introduced in 2.4.4 |
| 4910 |
PR 55264 [Jo Rhett <jrhett netconsonance com>] |
| 4911 |
|
| 4912 |
*) mod_lua: add websocket support via r:wsupgrade, r:wswrite, r:wsread |
| 4913 |
and r:wsping. [Daniel Gruno] |
| 4914 |
|
| 4915 |
*) mod_lua: add support for writing/reading cookies via r:getcookie and |
| 4916 |
r:setcookie. [Daniel Gruno] |
| 4917 |
|
| 4918 |
*) mod_lua: If the first yield() of a LuaOutputFilter returns a string, it should |
| 4919 |
be prefixed to the response as documented. [Eric Covener] |
| 4920 |
Note: Not present in 2.4.7 CHANGES |
| 4921 |
|
| 4922 |
*) mod_lua: Remove ETAG, Content-Length, and Content-MD5 when a LuaOutputFilter |
| 4923 |
is configured without mod_filter. [Eric Covener] |
| 4924 |
Note: Not present in 2.4.7 CHANGES |
| 4925 |
|
| 4926 |
*) mod_lua: Register LuaOutputFilter scripts as changing the content and |
| 4927 |
content-length by default, when run my mod_filter. Previously, |
| 4928 |
growing or shrinking a response that started with Content-Length set |
| 4929 |
would require mod_filter and FilterProtocol change=yes. [Eric Covener] |
| 4930 |
Note: Not present in 2.4.7 CHANGES |
| 4931 |
|
| 4932 |
*) mod_lua: Return a 500 error if a LuaHook* script doesn't return a |
| 4933 |
numeric return code. [Eric Covener] |
| 4934 |
Note: Not present in 2.4.7 CHANGES |
| 4935 |
|
| 4936 |
Changes with Apache 2.4.6 |
| 4937 |
|
| 4938 |
*) Revert a broken fix for PR54948 that was applied to 2.4.5 (which was |
| 4939 |
not released) and found post-2.4.5 tagging. |
| 4940 |
|
| 4941 |
Changes with Apache 2.4.5 |
| 4942 |
|
| 4943 |
*) SECURITY: CVE-2013-1896 (cve.mitre.org) |
| 4944 |
mod_dav: Sending a MERGE request against a URI handled by mod_dav_svn with |
| 4945 |
the source href (sent as part of the request body as XML) pointing to a |
| 4946 |
URI that is not configured for DAV will trigger a segfault. [Ben Reser |
| 4947 |
<ben reser.org>] |
| 4948 |
|
| 4949 |
*) SECURITY: CVE-2013-2249 (cve.mitre.org) |
| 4950 |
mod_session_dbd: Make sure that dirty flag is respected when saving |
| 4951 |
sessions, and ensure the session ID is changed each time the session |
| 4952 |
changes. This changes the format of the updatesession SQL statement. |
| 4953 |
Existing configurations must be changed. |
| 4954 |
[Takashi Sato, Graham Leggett] |
| 4955 |
|
| 4956 |
*) mod_auth_basic: Add a generic mechanism to fake basic authentication |
| 4957 |
using the ap_expr parser. AuthBasicFake allows the administrator to |
| 4958 |
construct their own username and password for basic authentication based |
| 4959 |
on their needs. [Graham Leggett] |
| 4960 |
|
| 4961 |
*) mpm_event: Check that AsyncRequestWorkerFactor is not negative. PR 54254. |
| 4962 |
[Jackie Zhang <jackie qq zhang gmail com>] |
| 4963 |
|
| 4964 |
*) mod_proxy: Ensure we don't attempt to amend a table we are iterating |
| 4965 |
through, ensuring that all headers listed by Connection are removed. |
| 4966 |
[Graham Leggett, Co-Advisor <coad measurement-factory.com>] |
| 4967 |
|
| 4968 |
*) mod_proxy_http: Make the proxy-interim-response environment variable |
| 4969 |
effective by formally overriding origin server behaviour. [Graham |
| 4970 |
Leggett, Co-Advisor <coad measurement-factory.com>] |
| 4971 |
|
| 4972 |
*) mod_proxy: Fix seg-faults when using the global pool on threaded |
| 4973 |
MPMs [Thomas Eckert <thomas.r.w.eckert gmail.com>, Graham Leggett, |
| 4974 |
Jim Jagielski] |
| 4975 |
|
| 4976 |
*) mod_deflate: Remove assumptions as to when an EOS bucket might arrive. |
| 4977 |
Gracefully step aside if the body size is zero. [Graham Leggett] |
| 4978 |
|
| 4979 |
*) mod_ssl: Fix possible truncation of OCSP responses when reading from the |
| 4980 |
server. [Joe Orton] |
| 4981 |
|
| 4982 |
*) core: Support the SINGLE_LISTEN_UNSERIALIZED_ACCEPT optimization |
| 4983 |
on Linux kernel versions 3.x and above. PR 55121. [Bradley Heilbrun |
| 4984 |
<apache heilbrun.org>] |
| 4985 |
|
| 4986 |
*) mod_cache_socache: Make sure the CacheSocacheMaxSize directive is merged |
| 4987 |
correctly. [Jens Låås <jelaas gmail.com>] |
| 4988 |
|
| 4989 |
*) rotatelogs: add -n number-of-files option to rotate through a number |
| 4990 |
of fixed-name logfiles. [Eric Covener] |
| 4991 |
|
| 4992 |
*) mod_proxy: Support web-socket tunnels via mod_proxy_wstunnel. |
| 4993 |
[Jim Jagielski] |
| 4994 |
|
| 4995 |
*) mod_cache_socache: Use the name of the socache implementation when performing |
| 4996 |
a lookup rather than using the raw arguments. [Martin Ksellmann |
| 4997 |
<martin@ksellmann.de>] |
| 4998 |
|
| 4999 |
*) core: Add dirwalk_stat hook. [Jeff Trawick] |
| 5000 |
|
| 5001 |
*) core: Add post_perdir_config hook. |
| 5002 |
[Steinar Gunderson <sgunderson bigfoot.com>] |
| 5003 |
|
| 5004 |
*) proxy_util: NULL terminate the right buffer in 'send_http_connect'. |
| 5005 |
[Christophe Jaillet] |
| 5006 |
|
| 5007 |
*) mod_remoteip: close file in error path. [Christophe Jaillet] |
| 5008 |
|
| 5009 |
*) core: make the "default" parameter of the "ErrorDocument" option case |
| 5010 |
insensitive. PR 54419 [Tianyin Xu <tixu cs ucsd edu>] |
| 5011 |
|
| 5012 |
*) mod_proxy_html: make the "ProxyHTMLFixups" options case insensitive. |
| 5013 |
PR 54420 [Tianyin Xu <tixu cs ucsd edu>] |
| 5014 |
|
| 5015 |
*) mod_cache: Make option "CacheDisable" in mod_cache case insensitive. |
| 5016 |
PR 54462 [Tianyin Xu <tixu cs ucsd edu>] |
| 5017 |
|
| 5018 |
*) mod_cache: If a 304 response indicates an entity not currently cached, then |
| 5019 |
the cache MUST disregard the response and repeat the request without the |
| 5020 |
conditional. [Graham Leggett, Co-Advisor <coad measurement-factory.com>] |
| 5021 |
|
| 5022 |
*) mod_cache: Ensure that we don't attempt to replace a cached response |
| 5023 |
with an older response as per RFC2616 13.12. [Graham Leggett, Co-Advisor |
| 5024 |
<coad measurement-factory.com>] |
| 5025 |
|
| 5026 |
*) core, mod_cache: Ensure RFC2616 compliance in ap_meets_conditions() |
| 5027 |
with weak validation combined with If-Range and Range headers. Break |
| 5028 |
out explicit conditional header checks to be useable elsewhere in the |
| 5029 |
server. Ensure weak validation RFC compliance in the byteranges filter. |
| 5030 |
Ensure RFC validation compliance when serving cached entities. PR 16142 |
| 5031 |
[Graham Leggett, Co-Advisor <coad measurement-factory.com>] |
| 5032 |
|
| 5033 |
*) core: Add the ability to do explicit matching on weak and strong ETags |
| 5034 |
as per RFC2616 Section 13.3.3. [Graham Leggett, Co-Advisor |
| 5035 |
<coad measurement-factory.com>] |
| 5036 |
|
| 5037 |
*) mod_cache: Ensure that updated responses to HEAD requests don't get |
| 5038 |
mistakenly paired with a previously cached body. Ensure that any existing |
| 5039 |
body is removed when a HEAD request is cached. [Graham Leggett, |
| 5040 |
Co-Advisor <coad measurement-factory.com>] |
| 5041 |
|
| 5042 |
*) mod_cache: Honour Cache-Control: no-store in a request. [Graham Leggett] |
| 5043 |
|
| 5044 |
*) mod_cache: Make sure that contradictory entity headers present in a 304 |
| 5045 |
Not Modified response are caught and cause the entity to be removed. |
| 5046 |
[Graham Leggett] |
| 5047 |
|
| 5048 |
*) mod_cache: Make sure Vary processing handles multivalued Vary headers and |
| 5049 |
multivalued headers referred to via Vary. [Graham Leggett] |
| 5050 |
|
| 5051 |
*) mod_cache: When serving from cache, only the last header of a multivalued |
| 5052 |
header was taken into account. Fixed. Ensure that Warning headers are |
| 5053 |
correctly handled as per RFC2616. [Graham Leggett] |
| 5054 |
|
| 5055 |
*) mod_cache: Ignore response headers specified by no-cache=header and |
| 5056 |
private=header as specified by RFC2616 14.9.1 What is Cacheable. Ensure |
| 5057 |
that these headers are still processed when multiple Cache-Control |
| 5058 |
headers are present in the response. PR 54706 [Graham Leggett, |
| 5059 |
Yann Ylavic <ylavic.dev gmail.com>] |
| 5060 |
|
| 5061 |
*) mod_cache: Invalidate cached entities in response to RFC2616 Section |
| 5062 |
13.10 Invalidation After Updates or Deletions. PR 15868 [Graham |
| 5063 |
Leggett] |
| 5064 |
|
| 5065 |
*) mod_dav: Improve error handling in dav_method_put(), add new |
| 5066 |
dav_join_error() function. PR 54145. [Ben Reser <ben reser.org>] |
| 5067 |
|
| 5068 |
*) mod_dav: Do not fail PROPPATCH when prop namespace is not known. |
| 5069 |
PR 52559 [Diego Santa Cruz <diego.santaCruz spinetix.com>] |
| 5070 |
|
| 5071 |
*) mod_dav: When a PROPPATCH attempts to remove a non-existent dead |
| 5072 |
property on a resource for which there is no dead property in the same |
| 5073 |
namespace httpd segfaults. PR 52559 [Diego Santa Cruz |
| 5074 |
<diego.santaCruz spinetix.com>] |
| 5075 |
|
| 5076 |
*) mod_dav: Sending an If or If-Match header with an invalid ETag doesn't |
| 5077 |
result in a 412 Precondition Failed for a COPY operation. PR54610 |
| 5078 |
[Timothy Wood <tjw omnigroup.com>] |
| 5079 |
|
| 5080 |
*) mod_dav: Make sure that when we prepare an If URL for Etag comparison, |
| 5081 |
we compare unencoded paths. PR 53910 [Timothy Wood <tjw omnigroup.com>] |
| 5082 |
|
| 5083 |
*) mod_deflate: Remove assumptions as to when an EOS bucket might arrive. |
| 5084 |
Gracefully step aside if the body size is zero. [Graham Leggett] |
| 5085 |
|
| 5086 |
*) 'AuthGroupFile' and 'AuthUserFile' do not accept anymore the optional |
| 5087 |
'standard' keyword . It was unused and not documented. |
| 5088 |
PR54463 [Tianyin Xu <tixu cs.ucsd.edu> and Christophe Jaillet] |
| 5089 |
|
| 5090 |
*) core: Do not over allocate memory within 'ap_rgetline_core' for |
| 5091 |
the common case. [Christophe Jaillet] |
| 5092 |
|
| 5093 |
*) core: speed up (for common cases) and reduce memory usage of |
| 5094 |
ap_escape_logitem(). This should save 70-100 bytes in the request |
| 5095 |
pool for a default config. [Christophe Jaillet] |
| 5096 |
|
| 5097 |
*) mod_dav: Ensure URI is correctly uriencoded on return. PR 54611 |
| 5098 |
[Timothy Wood <tjw omnigroup.com>] |
| 5099 |
|
| 5100 |
*) mod_proxy: Reject invalid values for Max-Forwards. [Graham Leggett, |
| 5101 |
Co-Advisor <coad measurement-factory.com>] |
| 5102 |
|
| 5103 |
*) mod_cache: RFC2616 14.9.3 The s-maxage directive also implies the |
| 5104 |
semantics of the proxy-revalidate directive. [Graham Leggett] |
| 5105 |
|
| 5106 |
*) mod_ssl: add support for subjectAltName-based host name checking |
| 5107 |
in proxy mode (SSLProxyCheckPeerName). PR 54030. [Kaspar Brand] |
| 5108 |
|
| 5109 |
*) core: Use the proper macro for HTTP/1.1. [Graham Leggett] |
| 5110 |
|
| 5111 |
*) event MPM: Provide error handling for ThreadStackSize. PR 54311 |
| 5112 |
[Tianyin Xu <tixu cs.ucsd.edu>, Christophe Jaillet] |
| 5113 |
|
| 5114 |
*) mod_dav: Do not segfault on PROPFIND with a zero length DBM. |
| 5115 |
PR 52559 [Diego Santa Cruz <diego.santaCruz spinetix.com>] |
| 5116 |
|
| 5117 |
*) core: Improve error message where client's request-line exceeds |
| 5118 |
LimitRequestLine. PR 54384 [Christophe Jaillet] |
| 5119 |
|
| 5120 |
*) mod_macro: New module that provides macros within configuration files. |
| 5121 |
[Fabien Coelho] |
| 5122 |
|
| 5123 |
*) mod_cache_socache: New cache implementation backed by mod_socache |
| 5124 |
that replaces mod_mem_cache known from httpd 2.2. [Graham |
| 5125 |
Leggett] |
| 5126 |
|
| 5127 |
*) htpasswd: Add -v option to verify a password. [Stefan Fritsch] |
| 5128 |
|
| 5129 |
*) mod_proxy: Add BalancerInherit and ProxyPassInherit to control |
| 5130 |
whether Proxy Balancers and Workers are inherited by vhosts |
| 5131 |
(default is On). [Jim Jagielski] |
| 5132 |
|
| 5133 |
*) mod_authnz_ldap: Allow using exec: calls to obtain LDAP bind |
| 5134 |
password. [Daniel Ruggeri] |
| 5135 |
|
| 5136 |
*) Added balancer parameter failontimeout to allow server admin |
| 5137 |
to configure an IO timeout as an error in the balancer. |
| 5138 |
[Daniel Ruggeri] |
| 5139 |
|
| 5140 |
*) mod_auth_digest: Fix crashes if shm initialization failed. [Stefan |
| 5141 |
Fritsch] |
| 5142 |
|
| 5143 |
*) htpasswd, htdbm: Fix password generation. PR 54735. [Stefan Fritsch] |
| 5144 |
|
| 5145 |
*) core: Add workaround for gcc bug on sparc/64bit. PR 52900. |
| 5146 |
[Stefan Fritsch] |
| 5147 |
|
| 5148 |
*) mod_setenvif: Fix crash in case SetEnvif and SetEnvIfExpr are used |
| 5149 |
together. PR 54881. [Ruediger Pluem] |
| 5150 |
|
| 5151 |
*) htdigest: Fix buffer overflow when reading digest password file |
| 5152 |
with very long lines. PR 54893. [Rainer Jung] |
| 5153 |
|
| 5154 |
*) ap_expr: Add the ability to base64 encode and base64 decode |
| 5155 |
strings and to generate their SHA1 and MD5 hash. |
| 5156 |
[Graham Leggett, Stefan Fritsch] |
| 5157 |
|
| 5158 |
*) mod_log_config: Fix crash when logging request end time for a failed |
| 5159 |
request. PR 54828 [Rainer Jung] |
| 5160 |
|
| 5161 |
*) mod_ssl: Catch missing, mismatched or encrypted client cert/key pairs |
| 5162 |
with SSLProxyMachineCertificateFile/Path directives. PR 52212, PR 54698. |
| 5163 |
[Keith Burdis <keith burdis.org>, Joe Orton, Kaspar Brand] |
| 5164 |
|
| 5165 |
*) mod_ssl: Quiet FIPS mode weak keys disabled and FIPS not selected emits |
| 5166 |
in the error log to debug level. [William Rowe] |
| 5167 |
|
| 5168 |
*) mod_cache_disk: CacheMinFileSize and CacheMaxFileSize were always |
| 5169 |
using compiled in defaults of 1000000/1 respectively. [Eric Covener] |
| 5170 |
|
| 5171 |
*) mod_lbmethod_heartbeat, mod_heartmonitor: Respect DefaultRuntimeDir/ |
| 5172 |
DEFAULT_REL_RUNTIMEDIR for the heartbeat storage file. [Jeff Trawick] |
| 5173 |
|
| 5174 |
*) mod_include: Use new ap_expr for 'elif', like 'if', |
| 5175 |
if legacy parser is not specified. PR 54548 [Tom Donovan] |
| 5176 |
|
| 5177 |
*) mod_lua: Add some new functions: r:htpassword(), r:mkdir(), r:mkrdir(), |
| 5178 |
r:rmdir(), r:touch(), r:get_direntries(), r.date_parse_rfc(). |
| 5179 |
[Guenter Knauf] |
| 5180 |
|
| 5181 |
*) mod_lua: Add multipart form data handling. [Daniel Gruno] |
| 5182 |
|
| 5183 |
*) mod_lua: If a LuaMapHandler doesn't return any value, log a warning |
| 5184 |
and treat it as apache2.OK. [Eric Covener] |
| 5185 |
|
| 5186 |
*) mod_lua: Add bindings for apr_dbd/mod_dbd database access |
| 5187 |
[Daniel Gruno] |
| 5188 |
|
| 5189 |
*) mod_lua: Add LuaInputFilter/LuaOutputFilter for creating content |
| 5190 |
filters in Lua [Daniel Gruno] |
| 5191 |
|
| 5192 |
*) mod_lua: Allow scripts handled by the lua-script handler to return |
| 5193 |
a status code to the client (such as a 302 or a 500) [Daniel Gruno] |
| 5194 |
|
| 5195 |
*) mod_lua: Decline handling 'lua-script' if the file doesn't exist, |
| 5196 |
rather than throwing an internal server error. [Daniel Gruno] |
| 5197 |
|
| 5198 |
*) mod_lua: Add functions r:flush and r:sendfile as well as additional |
| 5199 |
request information to the request_rec structure. [Daniel Gruno] |
| 5200 |
|
| 5201 |
*) mod_lua: Add a server scope for Lua states, which creates a pool of |
| 5202 |
states with manageable minimum and maximum size. [Daniel Gruno] |
| 5203 |
|
| 5204 |
*) mod_lua: Add new directive, LuaMapHandler, for dynamically mapping |
| 5205 |
URIs to Lua scripts and functions using regular expressions. |
| 5206 |
[Daniel Gruno] |
| 5207 |
|
| 5208 |
*) mod_lua: Add new directive LuaCodeCache for controlling in-memory |
| 5209 |
caching of lua scripts. [Daniel Gruno] |
| 5210 |
|
| 5211 |
Changes with Apache 2.4.4 |
| 5212 |
|
| 5213 |
*) SECURITY: CVE-2012-3499 (cve.mitre.org) |
| 5214 |
Various XSS flaws due to unescaped hostnames and URIs HTML output in |
| 5215 |
mod_info, mod_status, mod_imagemap, mod_ldap, and mod_proxy_ftp. |
| 5216 |
[Jim Jagielski, Stefan Fritsch, Niels Heinen <heinenn google com>] |
| 5217 |
|
| 5218 |
*) SECURITY: CVE-2012-4558 (cve.mitre.org) |
| 5219 |
XSS in mod_proxy_balancer manager interface. [Jim Jagielski, |
| 5220 |
Niels Heinen <heinenn google com>] |
| 5221 |
|
| 5222 |
*) mod_dir: Add support for the value 'disabled' in FallbackResource. |
| 5223 |
[Vincent Deffontaines] |
| 5224 |
|
| 5225 |
*) mod_proxy_connect: Don't keepalive the connection to the client if the |
| 5226 |
backend closes the connection. PR 54474. [Pavel Mateja <pavel netsafe cz>] |
| 5227 |
|
| 5228 |
*) mod_lua: Add bindings for mod_dbd/apr_dbd database access. |
| 5229 |
[Daniel Gruno] |
| 5230 |
|
| 5231 |
*) mod_proxy: Allow for persistence of local changes made via the |
| 5232 |
balancer-manager between graceful/normal restarts and power |
| 5233 |
cycles. [Jim Jagielski] |
| 5234 |
|
| 5235 |
*) mod_proxy: Fix startup crash with mis-defined balancers. |
| 5236 |
PR 52402. [Jim Jagielski] |
| 5237 |
|
| 5238 |
*) --with-module: Fix failure to integrate them into some existing |
| 5239 |
module directories. PR 40097. [Jeff Trawick] |
| 5240 |
|
| 5241 |
*) htcacheclean: Fix potential segfault if "-p" is omitted. [Joe Orton] |
| 5242 |
|
| 5243 |
*) mod_proxy_http: Honour special value 0 (unlimited) of LimitRequestBody |
| 5244 |
PR 54435. [Pavel Mateja <pavel netsafe.cz>] |
| 5245 |
|
| 5246 |
*) mod_proxy_ajp: Support unknown HTTP methods. PR 54416. |
| 5247 |
[Rainer Jung] |
| 5248 |
|
| 5249 |
*) htcacheclean: Fix list options "-a" and "-A". |
| 5250 |
[Rainer Jung] |
| 5251 |
|
| 5252 |
*) mod_slotmem_shm: Fix mistaken reset of num_free for restored shm. |
| 5253 |
[Jim Jagielski] |
| 5254 |
|
| 5255 |
*) mod_proxy: non-existence of byrequests is not an immediate error. |
| 5256 |
[Jim Jagielski] |
| 5257 |
|
| 5258 |
*) mod_proxy_balancer: Improve output of balancer-manager (re: Drn, |
| 5259 |
Dis, Ign, Stby). PR 52478 [Danijel <dt-ng rbfh de>] |
| 5260 |
|
| 5261 |
*) configure: Fix processing of --disable-FEATURE for various features. |
| 5262 |
[Jeff Trawick] |
| 5263 |
|
| 5264 |
*) mod_dialup/mod_http: Prevent a crash in mod_dialup in case of internal |
| 5265 |
redirect. PR 52230. |
| 5266 |
|
| 5267 |
*) various modules, rotatelogs: Replace use of apr_file_write() with |
| 5268 |
apr_file_write_full() to prevent incomplete writes. PR 53131. |
| 5269 |
[Nicolas Viennot <apache viennot biz>, Stefan Fritsch] |
| 5270 |
|
| 5271 |
*) ab: Support socket timeout (-s timeout). |
| 5272 |
[Guido Serra <zeph fsfe org>] |
| 5273 |
|
| 5274 |
*) httxt2dbm: Correct length computation for the 'value' stored in the |
| 5275 |
DBM file. PR 47650 [jon buckybox com] |
| 5276 |
|
| 5277 |
*) core: Be more correct about rejecting directives that cannot work in <If> |
| 5278 |
sections. [Stefan Fritsch] |
| 5279 |
|
| 5280 |
*) core: Fix directives like LogLevel that need to know if they are invoked |
| 5281 |
at virtual host context or in Directory/Files/Location/If sections to |
| 5282 |
work properly in If sections that are not in a Directory/Files/Location. |
| 5283 |
[Stefan Fritsch] |
| 5284 |
|
| 5285 |
*) mod_xml2enc: Fix problems with charset conversion altering the |
| 5286 |
Content-Length. [Micha Lenk <micha lenk info>] |
| 5287 |
|
| 5288 |
*) ap_expr: Add req_novary function that allows HTTP header lookups |
| 5289 |
without adding the name to the Vary header. [Stefan Fritsch] |
| 5290 |
|
| 5291 |
*) mod_slotmem_*: Add in new fgrab() function which forces a grab and |
| 5292 |
slot allocation on a specified slot. Allow for clearing of inuse |
| 5293 |
array. [Jim Jagielski] |
| 5294 |
|
| 5295 |
*) mod_proxy_ftp: Fix segfaults on IPv4 requests to hosts with DNS |
| 5296 |
AAAA records. PR 40841. [Andrew Rucker Jones <arjones simultan |
| 5297 |
dyndns org>, <ast domdv de>, Jim Jagielski] |
| 5298 |
|
| 5299 |
*) mod_auth_form: Make sure that get_notes_auth() sets the user as does |
| 5300 |
get_form_auth() and get_session_auth(). Makes sure that REMOTE_USER |
| 5301 |
does not vanish during mod_include driven subrequests. [Graham |
| 5302 |
Leggett] |
| 5303 |
|
| 5304 |
*) mod_cache_disk: Resolve errors while revalidating disk-cached files on |
| 5305 |
Windows ("...rename tempfile to datafile failed..."). PR 38827 |
| 5306 |
[Eric Covener] |
| 5307 |
|
| 5308 |
*) mod_proxy_balancer: Bring XML output up to date. [Jim Jagielski] |
| 5309 |
|
| 5310 |
*) htpasswd, htdbm: Optionally read passwords from stdin, as more |
| 5311 |
secure alternative to -b. PR 40243. [Adomas Paltanavicius <adomas |
| 5312 |
paltanavicius gmail com>, Stefan Fritsch] |
| 5313 |
|
| 5314 |
*) htpasswd, htdbm: Add support for bcrypt algorithm (requires |
| 5315 |
apr-util 1.5 or higher). PR 49288. [Stefan Fritsch] |
| 5316 |
|
| 5317 |
*) htpasswd, htdbm: Put full 48bit of entropy into salt, improve |
| 5318 |
error handling. Add some of htpasswd's improvements to htdbm, |
| 5319 |
e.g. warn if password is truncated by crypt(). [Stefan Fritsch] |
| 5320 |
|
| 5321 |
*) mod_auth_form: Support the expr parser in the |
| 5322 |
AuthFormLoginRequiredLocation, AuthFormLoginSuccessLocation and |
| 5323 |
AuthFormLogoutLocation directives. [Graham Leggett] |
| 5324 |
|
| 5325 |
*) mod_ssl: Add support for TLS-SRP (Secure Remote Password key exchange |
| 5326 |
for TLS, RFC 5054). PR 51075. [Quinn Slack <sqs cs stanford edu>, |
| 5327 |
Christophe Renou, Peter Sylvester] |
| 5328 |
|
| 5329 |
*) mod_rewrite: Stop mergeing RewriteBase down to subdirectories |
| 5330 |
unless new option 'RewriteOptions MergeBase' is configured. |
| 5331 |
PR 53963. [Eric Covener] |
| 5332 |
|
| 5333 |
*) mod_header: Allow for exposure of loadavg and server load using new |
| 5334 |
format specifiers %l, %i, %b [Jim Jagielski] |
| 5335 |
|
| 5336 |
*) core: Make ap_regcomp() return AP_REG_ESPACE if out of memory. Make |
| 5337 |
ap_pregcomp() abort if out of memory. This raises the minimum PCRE |
| 5338 |
requirement to version 6.0. [Stefan Fritsch] |
| 5339 |
|
| 5340 |
*) mod_proxy: Add ability to configure the sticky session separator. |
| 5341 |
PR 53893. [<inu inusasha de>, Jim Jagielski] |
| 5342 |
|
| 5343 |
*) mod_dumpio: Correctly log large messages |
| 5344 |
PR 54179 [Marek Wianecki <mieszek2 interia pl>] |
| 5345 |
|
| 5346 |
*) core: Don't fail at startup with AH00554 when Include points to |
| 5347 |
a directory without any wildcard character. [Eric Covener] |
| 5348 |
|
| 5349 |
*) core: Fail startup if the argument to ServerTokens is unrecognized. |
| 5350 |
[Jackie Zhang <jackie.qq.zhang gmail.com>] |
| 5351 |
|
| 5352 |
*) mod_log_forensic: Don't log a spurious "-" if a request has been rejected |
| 5353 |
before mod_log_forensic could attach its id to it. [Stefan Fritsch] |
| 5354 |
|
| 5355 |
*) rotatelogs: Omit the second argument for the first invocation of |
| 5356 |
a post-rotate program when -p is used, per the documentation. |
| 5357 |
[Joe Orton] |
| 5358 |
|
| 5359 |
*) mod_session_dbd: fix a segmentation fault in the function dbd_remove. |
| 5360 |
PR 53452. [<rebanerebane gmail com>, Reimo Rebane] |
| 5361 |
|
| 5362 |
*) core: Functions to provide server load values: ap_get_sload() and |
| 5363 |
ap_get_loadavg(). [Jim Jagielski, Jan Kaluza <jkaluza redhat.com>, |
| 5364 |
Jeff Trawick] |
| 5365 |
|
| 5366 |
*) mod_ldap: Fix regression in handling "server unavailable" errors on |
| 5367 |
Windows. PR 54140. [Eric Covener] |
| 5368 |
|
| 5369 |
*) syslog logging: Remove stray ", referer" at the end of some messages. |
| 5370 |
[Jeff Trawick] |
| 5371 |
|
| 5372 |
*) "Iterate" directives: Report an error if no arguments are provided. |
| 5373 |
[Jeff Trawick] |
| 5374 |
|
| 5375 |
*) mod_ssl: Change default for SSLCompression to off, as compression |
| 5376 |
causes security issues in most setups. (The so called "CRIME" attack). |
| 5377 |
[Stefan Fritsch] |
| 5378 |
|
| 5379 |
*) ab: add TLS1.1/TLS1.2 options to -f switch, and adapt output |
| 5380 |
to more accurately report the negotiated protocol. PR 53916. |
| 5381 |
[Nicolás Pernas Maradei <nico emutex com>, Kaspar Brand] |
| 5382 |
|
| 5383 |
*) core: ErrorDocument now works for requests without a Host header. |
| 5384 |
PR 48357. [Jeff Trawick] |
| 5385 |
|
| 5386 |
*) prefork: Avoid logging harmless errors during graceful stop. |
| 5387 |
[Joe Orton, Jeff Trawick] |
| 5388 |
|
| 5389 |
*) mod_proxy: When concatting for PPR, avoid cases where we |
| 5390 |
concat ".../" and "/..." to create "...//..." [Jim Jagielski] |
| 5391 |
|
| 5392 |
*) mod_cache: Wrong content type and character set when |
| 5393 |
mod_cache serves stale content because of a proxy error. |
| 5394 |
PR 53539. [Rainer Jung, Ruediger Pluem] |
| 5395 |
|
| 5396 |
*) mod_proxy_ajp: Fix crash in packet dump code when logging |
| 5397 |
with LogLevel trace7 or trace8. PR 53730. [Rainer Jung] |
| 5398 |
|
| 5399 |
*) httpd.conf: Removed the configuration directives setting a bad_DNT |
| 5400 |
environment introduced in 2.4.3. The actual directives are commented |
| 5401 |
out in the default conf file. |
| 5402 |
|
| 5403 |
*) core: Apply length limit when logging Status header values. |
| 5404 |
[Jeff Trawick, Chris Darroch] |
| 5405 |
|
| 5406 |
*) mod_proxy_balancer: The nonce is only derived from the UUID iff |
| 5407 |
not set via the 'nonce' balancer param. [Jim Jagielski] |
| 5408 |
|
| 5409 |
*) mod_ssl: Match wildcard SSL certificate names in proxy mode. |
| 5410 |
PR 53006. [Joe Orton] |
| 5411 |
|
| 5412 |
*) Windows: Fix output of -M, -L, and similar command-line options |
| 5413 |
which display information about the server configuration. |
| 5414 |
[Jeff Trawick] |
| 5415 |
|
| 5416 |
Changes with Apache 2.4.3 |
| 5417 |
|
| 5418 |
*) SECURITY: CVE-2012-3502 (cve.mitre.org) |
| 5419 |
mod_proxy_ajp, mod_proxy_http: Fix an issue in back end |
| 5420 |
connection closing which could lead to privacy issues due |
| 5421 |
to a response mixup. PR 53727. [Rainer Jung] |
| 5422 |
|
| 5423 |
*) SECURITY: CVE-2012-2687 (cve.mitre.org) |
| 5424 |
mod_negotiation: Escape filenames in variant list to prevent a |
| 5425 |
possible XSS for a site where untrusted users can upload files to |
| 5426 |
a location with MultiViews enabled. [Niels Heinen <heinenn google.com>] |
| 5427 |
|
| 5428 |
*) mod_authnz_ldap: Don't try a potentially expensive nested groups |
| 5429 |
search before exhausting all AuthLDAPGroupAttribute checks on the |
| 5430 |
current group. PR 52464 [Eric Covener] |
| 5431 |
|
| 5432 |
*) mod_lua: Add new directive LuaAuthzProvider to allow implementing an |
| 5433 |
authorization provider in lua. [Stefan Fritsch] |
| 5434 |
|
| 5435 |
*) core: Be less strict when checking whether Content-Type is set to |
| 5436 |
"application/x-www-form-urlencoded" when parsing POST data, |
| 5437 |
or we risk losing data with an appended charset. PR 53698 |
| 5438 |
[Petter Berntsen <petterb gmail.com>] |
| 5439 |
|
| 5440 |
*) httpd.conf: Added configuration directives to set a bad_DNT environment |
| 5441 |
variable based on User-Agent and to remove the DNT header field from |
| 5442 |
incoming requests when a match occurs. This currently has the effect of |
| 5443 |
removing DNT from requests by MSIE 10.0 because it deliberately violates |
| 5444 |
the current specification of DNT semantics for HTTP. [Roy T. Fielding] |
| 5445 |
|
| 5446 |
*) mod_socache_shmcb: Fix bus error due to a misalignment |
| 5447 |
in some 32 bit builds, especially on Solaris Sparc. |
| 5448 |
PR 53040. [Rainer Jung] |
| 5449 |
|
| 5450 |
*) mod_cache: Set content type in case we return stale content. |
| 5451 |
[Ruediger Pluem] |
| 5452 |
|
| 5453 |
*) Windows: Fix SSL failures on windows with AcceptFilter https none. |
| 5454 |
PR 52476. [Jeff Trawick] |
| 5455 |
|
| 5456 |
*) ab: Fix read failure when targeting SSL server. [Jeff Trawick] |
| 5457 |
|
| 5458 |
*) The following now respect DefaultRuntimeDir/DEFAULT_REL_RUNTIMEDIR: |
| 5459 |
- mod_auth_digest: shared memory file |
| 5460 |
[Jeff Trawick] |
| 5461 |
|
| 5462 |
*) htpasswd: Use correct file mode for checking if file is writable. |
| 5463 |
PR 45923. [Stefan Fritsch] |
| 5464 |
|
| 5465 |
*) mod_rewrite: Fix crash with dbd RewriteMaps. PR 53663. [Mikhail T. |
| 5466 |
<mi apache aldan algebra com>] |
| 5467 |
|
| 5468 |
*) mod_ssl: Add new directive SSLCompression to disable TLS-level |
| 5469 |
compression. PR 53219. [Björn Jacke <bjoern j3e de>, Stefan Fritsch] |
| 5470 |
|
| 5471 |
*) mod_lua: Add a few missing request_rec fields. Rename remote_ip to |
| 5472 |
client_ip to match conn_rec. [Stefan Fritsch] |
| 5473 |
|
| 5474 |
*) mod_lua: Change prototype of vm_construct, to work around gcc bug which |
| 5475 |
causes a segfault. PR 52779. [Dick Snippe <Dick Snippe tech omroep nl>] |
| 5476 |
|
| 5477 |
*) mpm_event: Don't count connections in lingering close state when |
| 5478 |
calculating how many additional connections may be accepted. |
| 5479 |
[Stefan Fritsch] |
| 5480 |
|
| 5481 |
*) mod_ssl: If exiting during initialization because of a fatal error, |
| 5482 |
log a message to the main error log pointing to the appropriate |
| 5483 |
virtual host error log. [Stefan Fritsch] |
| 5484 |
|
| 5485 |
*) mod_proxy_ajp: Reduce memory usage in case of many keep-alive requests on |
| 5486 |
one connection. PR 52275. [Naohiro Ooiwa <naohiro ooiwa miraclelinux com>] |
| 5487 |
|
| 5488 |
*) mod_proxy_balancer: Restore balancing after a failed worker has |
| 5489 |
recovered when using lbmethod_bybusyness. PR 48735. [Jeff Trawick] |
| 5490 |
|
| 5491 |
*) mod_setenvif: Compile some global regex only once during startup. |
| 5492 |
This should save some memory, especially with .htaccess. |
| 5493 |
[Stefan Fritsch] |
| 5494 |
|
| 5495 |
*) core: Add the port number to the vhost's name in the scoreboard. |
| 5496 |
[Stefan Fritsch] |
| 5497 |
|
| 5498 |
*) mod_proxy: Fix ProxyPassReverse for balancer configurations. |
| 5499 |
PR 45434. [Joe Orton] |
| 5500 |
|
| 5501 |
*) mod_lua: Add the parsebody function for parsing POST data. PR 53064. |
| 5502 |
[Daniel Gruno] |
| 5503 |
|
| 5504 |
*) apxs: Use LDFLAGS from config_vars.mk in addition to CFLAGS and CPPFLAGS. |
| 5505 |
[Stefan Fritsch] |
| 5506 |
|
| 5507 |
*) mod_proxy: Fix memory leak or possible corruption in ProxyBlock |
| 5508 |
implementation. [Ruediger Pluem, Joe Orton] |
| 5509 |
|
| 5510 |
*) mod_proxy: Check hostname from request URI against ProxyBlock list, |
| 5511 |
not forward proxy, if ProxyRemote* is configured. [Joe Orton] |
| 5512 |
|
| 5513 |
*) mod_proxy_connect: Avoid DNS lookup on hostname from request URI |
| 5514 |
if ProxyRemote* is configured. PR 43697. [Joe Orton] |
| 5515 |
|
| 5516 |
*) mpm_event, mpm_worker: Remain active amidst prevalent child process |
| 5517 |
resource shortages. [Jeff Trawick] |
| 5518 |
|
| 5519 |
*) Add "strict" and "warnings" pragmas to Perl scripts. [Rich Bowen] |
| 5520 |
|
| 5521 |
*) The following now respect DefaultRuntimeDir/DEFAULT_REL_RUNTIMEDIR: |
| 5522 |
- core: the scoreboard (ScoreBoardFile), pid file (PidFile), and |
| 5523 |
mutexes (Mutex) |
| 5524 |
[Jim Jagielski] |
| 5525 |
|
| 5526 |
*) ab: Fix bind() errors. [Joe Orton] |
| 5527 |
|
| 5528 |
*) mpm_event: Don't do a blocking write when starting a lingering close |
| 5529 |
from the listener thread. PR 52229. [Stefan Fritsch] |
| 5530 |
|
| 5531 |
*) mod_so: If a filename without slashes is specified for LoadFile or |
| 5532 |
LoadModule and the file cannot be found in the server root directory, |
| 5533 |
try to use the standard dlopen() search path. [Stefan Fritsch] |
| 5534 |
|
| 5535 |
*) mpm_event, mpm_worker: Fix cases where the spawn rate wasn't reduced |
| 5536 |
after child process resource shortages. [Jeff Trawick] |
| 5537 |
|
| 5538 |
*) mpm_prefork: Reduce spawn rate after a child process exits due to |
| 5539 |
unexpected poll or accept failure. [Jeff Trawick] |
| 5540 |
|
| 5541 |
*) core: Log value of Status header line in script responses rather |
| 5542 |
than the fixed header name. [Chris Darroch] |
| 5543 |
|
| 5544 |
*) mod_ssl: Fix handling of empty response from OCSP server. |
| 5545 |
[Jim Meyering <meyering redhat.com>, Joe Orton] |
| 5546 |
|
| 5547 |
*) mpm_event: Fix handling of MaxConnectionsPerChild. [Stefan Fritsch] |
| 5548 |
|
| 5549 |
*) mod_authz_core: If an expression in "Require expr" returns denied and |
| 5550 |
references %{REMOTE_USER}, trigger authentication and retry. PR 52892. |
| 5551 |
[Stefan Fritsch] |
| 5552 |
|
| 5553 |
*) core: Always log if LimitRequestFieldSize triggers. [Stefan Fritsch] |
| 5554 |
|
| 5555 |
*) mod_deflate: Skip compression if compression is enabled at SSL level. |
| 5556 |
[Stefan Fritsch] |
| 5557 |
|
| 5558 |
*) core: Add missing HTTP status codes registered with IANA. |
| 5559 |
[Julian Reschke <julian.reschke gmx.de>, Rainer Jung] |
| 5560 |
|
| 5561 |
*) mod_ldap: Treat the "server unavailable" condition as a transient |
| 5562 |
error with all LDAP SDKs. [Filip Valder <filip.valder vsb.cz>] |
| 5563 |
|
| 5564 |
*) core: Fix spurious "not allowed here" error returned when the Options |
| 5565 |
directive is used in .htaccess and "AllowOverride Options" (with no |
| 5566 |
specific options restricted) is configured. PR 53444. [Eric Covener] |
| 5567 |
|
| 5568 |
*) mod_authz_core: Fix parsing of Require arguments in <AuthzProviderAlias>. |
| 5569 |
PR 53048. [Stefan Fritsch] |
| 5570 |
|
| 5571 |
*) mod_log_config: Fix %{abc}C truncating cookie values at first "=". |
| 5572 |
PR 53104. [Greg Ames] |
| 5573 |
|
| 5574 |
*) mod_ext_filter: Fix error_log spam when input filters are configured. |
| 5575 |
[Joe Orton] |
| 5576 |
|
| 5577 |
*) mod_rewrite: Add "AllowAnyURI" option. PR 52774. [Joe Orton] |
| 5578 |
|
| 5579 |
*) htdbm, htpasswd: Don't crash if crypt() fails (e.g. with FIPS enabled). |
| 5580 |
[Paul Wouters <pwouters redhat.com>, Joe Orton] |
| 5581 |
|
| 5582 |
*) core: Use a TLS 1.0 close_notify alert for internal dummy connection if |
| 5583 |
the chosen listener is configured for https. [Joe Orton] |
| 5584 |
|
| 5585 |
*) mod_proxy: Use the the same hostname for SNI as for the HTTP request when |
| 5586 |
forwarding to SSL backends. PR 53134. |
| 5587 |
[Michael Weiser <michael weiser.dinsnail.net>, Ruediger Pluem] |
| 5588 |
|
| 5589 |
*) mod_info: Display all registered providers. [Stefan Fritsch] |
| 5590 |
|
| 5591 |
*) mod_ssl: Send the error message for speaking http to an https port using |
| 5592 |
HTTP/1.0 instead of HTTP/0.9, and omit the link that may be wrong when |
| 5593 |
using SNI. PR 50823. [Stefan Fritsch] |
| 5594 |
|
| 5595 |
*) core: Fix segfault in logging if r->useragent_addr or c->client_addr is |
| 5596 |
unset. PR 53265. [Stefan Fritsch] |
| 5597 |
|
| 5598 |
*) log_server_status: Bring Perl style forward to the present, use |
| 5599 |
standard modules, update for new format of server-status output. |
| 5600 |
PR 45424. [Richard Bowen, Dave Brondsema, and others] |
| 5601 |
|
| 5602 |
*) mod_sed, mod_log_debug, mod_rewrite: Symbol namespace cleanups. |
| 5603 |
[Joe Orton, André Malo] |
| 5604 |
|
| 5605 |
*) core: Prevent "httpd -k restart" from killing server in presence of |
| 5606 |
config error. [Joe Orton] |
| 5607 |
|
| 5608 |
*) mod_proxy_fcgi: If there is an error reading the headers from the |
| 5609 |
backend, send an error to the client. PR 52879. [Stefan Fritsch] |
| 5610 |
|
| 5611 |
Changes with Apache 2.4.2 |
| 5612 |
|
| 5613 |
*) SECURITY: CVE-2012-0883 (cve.mitre.org) |
| 5614 |
envvars: Fix insecure handling of LD_LIBRARY_PATH that could lead to the |
| 5615 |
current working directory to be searched for DSOs. [Stefan Fritsch] |
| 5616 |
|
| 5617 |
*) mod_slotmem_shm: Honor DefaultRuntimeDir [Jim Jagielski] |
| 5618 |
|
| 5619 |
*) mod_ssl: Fix crash with threaded MPMs due to race condition when |
| 5620 |
initializing EC temporary keys. [Stefan Fritsch] |
| 5621 |
|
| 5622 |
*) mod_rewrite: Fix RewriteCond integer checks to be parsed correctly. |
| 5623 |
PR 53023. [Axel Reinhold <apache freakout.de>, André Malo] |
| 5624 |
|
| 5625 |
*) mod_proxy: Add the forcerecovery balancer parameter that determines if |
| 5626 |
recovery for balancer workers is enforced. [Ruediger Pluem] |
| 5627 |
|
| 5628 |
*) Fix MPM DSO load failure on AIX. [Jeff Trawick] |
| 5629 |
|
| 5630 |
*) mod_proxy: Correctly set up reverse proxy worker. PR 52935. |
| 5631 |
[Petter Berntsen <petterb gmail.com>] |
| 5632 |
|
| 5633 |
*) mod_sed: Don't define PATH_MAX to a potentially undefined value, causing |
| 5634 |
compile problems on GNU hurd. [Stefan Fritsch] |
| 5635 |
|
| 5636 |
*) core: Add ap_runtime_dir_relative() and DefaultRuntimeDir. |
| 5637 |
[Jeff Trawick] |
| 5638 |
|
| 5639 |
*) core: Fix breakage of Listen directives with MPMs that use a |
| 5640 |
per-directory config. PR 52904. [Stefan Fritsch] |
| 5641 |
|
| 5642 |
*) core: Disallow directives in AllowOverrideList which are only allowed |
| 5643 |
in VirtualHost or server context. These are usually not prepared to be |
| 5644 |
called in .htaccess files. [Stefan Fritsch] |
| 5645 |
|
| 5646 |
*) core: In AllowOverrideList, do not allow 'None' together with other |
| 5647 |
directives. PR 52823. [Stefan Fritsch] |
| 5648 |
|
| 5649 |
*) mod_slotmem_shm: Support DEFAULT_REL_RUNTIMEDIR for file-based shm. |
| 5650 |
[Jim Jagielski] |
| 5651 |
|
| 5652 |
*) core: Fix merging of AllowOverrideList and ContentDigest. |
| 5653 |
[Stefan Fritsch] |
| 5654 |
|
| 5655 |
*) mod_request: Fix validation of the KeptBodySize argument so it |
| 5656 |
doesn't always throw a configuration error. PR 52981 [Eric Covener] |
| 5657 |
|
| 5658 |
*) core: Add filesystem paths to access denied / access failed messages |
| 5659 |
AH00035 and AH00036. [Eric Covener] |
| 5660 |
|
| 5661 |
*) mod_dumpio: Properly handle errors from subsequent input filters. |
| 5662 |
PR 52914. [Stefan Fritsch] |
| 5663 |
|
| 5664 |
*) Unix MPMs: Fix small memory leak in parent process if connect() |
| 5665 |
failed when waking up children. [Joe Orton] |
| 5666 |
|
| 5667 |
*) "DirectoryIndex disabled" now undoes DirectoryIndex settings in |
| 5668 |
the current configuration section, not just previous config sections. |
| 5669 |
PR 52845. [Eric Covener] |
| 5670 |
|
| 5671 |
*) mod_xml2enc: Fix broken handling of EOS buckets which could lead to |
| 5672 |
response headers not being sent. PR 52766. [Stefan Fritsch] |
| 5673 |
|
| 5674 |
*) mod_ssl: Properly free the GENERAL_NAMEs. PR 32652. [Kaspar Brand] |
| 5675 |
|
| 5676 |
*) core: Check during config test that directories for the access |
| 5677 |
logs actually exist. PR 29941. [Stefan Fritsch] |
| 5678 |
|
| 5679 |
*) mod_xml2enc, mod_proxy_html: Enable per-module loglevels. |
| 5680 |
[Stefan Fritsch] |
| 5681 |
|
| 5682 |
*) mod_filter: Fix segfault with AddOutputFilterByType. PR 52755. |
| 5683 |
[Stefan Fritsch] |
| 5684 |
|
| 5685 |
*) mod_session: Sessions are encoded as application/x-www-form-urlencoded |
| 5686 |
strings, however we do not handle the encoding of spaces properly. |
| 5687 |
Fixed. [Graham Leggett] |
| 5688 |
|
| 5689 |
*) Configuration: Example in comment should use a path consistent |
| 5690 |
with the default configuration. PR 52715. |
| 5691 |
[Rich Bowen, Jens Schleusener, Rainer Jung] |
| 5692 |
|
| 5693 |
*) Configuration: Switch documentation links from trunk to 2.4. |
| 5694 |
[Rainer Jung] |
| 5695 |
|
| 5696 |
*) configure: Fix out of tree build using apr and apr-util in srclib. |
| 5697 |
[Rainer Jung] |
| 5698 |
|
| 5699 |
Changes with Apache 2.4.1 |
| 5700 |
|
| 5701 |
*) SECURITY: CVE-2012-0053 (cve.mitre.org) |
| 5702 |
Fix an issue in error responses that could expose "httpOnly" cookies |
| 5703 |
when no custom ErrorDocument is specified for status code 400. |
| 5704 |
[Eric Covener] |
| 5705 |
|
| 5706 |
*) mod_proxy_balancer: Fix crash on Windows. PR 52402 [Mladen Turk] |
| 5707 |
|
| 5708 |
*) core: Check during configtest that the directories for error logs exist. |
| 5709 |
PR 29941 [Stefan Fritsch] |
| 5710 |
|
| 5711 |
*) Core configuration: add AllowOverride option to treat syntax |
| 5712 |
errors in .htaccess as non-fatal. PR 52439 [Nick Kew, Jim Jagielski] |
| 5713 |
|
| 5714 |
*) core: Fix memory consumption in core output filter with streaming |
| 5715 |
bucket types like CGI or PIPE. [Joe Orton, Stefan Fritsch] |
| 5716 |
|
| 5717 |
*) configure: Disable modules at configure time if a prerequisite module |
| 5718 |
is not enabled. PR 52487. [Stefan Fritsch] |
| 5719 |
|
| 5720 |
*) Rewrite and proxy now decline what they don't support rather |
| 5721 |
than fail the request. [Joe Orton] |
| 5722 |
|
| 5723 |
*) Fix building against external apr plus apr-util if apr is not installed |
| 5724 |
in a system default path. [Rainer Jung] |
| 5725 |
|
| 5726 |
*) Doxygen fixes and improvements. [Joe Orton, Igor Galić] |
| 5727 |
|
| 5728 |
*) core: Fix building against PCRE 8.30 by switching from the obsolete |
| 5729 |
pcre_info() to pcre_fullinfo(). PR 52623 [Ruediger Pluem, Rainer Jung] |
| 5730 |
|
| 5731 |
Changes with Apache 2.4.0 |
| 5732 |
|
| 5733 |
*) SECURITY: CVE-2012-0031 (cve.mitre.org) |
| 5734 |
Fix scoreboard issue which could allow an unprivileged child process |
| 5735 |
to cause the parent to crash at shutdown rather than terminate |
| 5736 |
cleanly. [Joe Orton] |
| 5737 |
|
| 5738 |
*) mod_ssl: Fix compilation with xlc on AIX. PR 52394. [Stefan Fritsch] |
| 5739 |
|
| 5740 |
*) SECURITY: CVE-2012-0021 (cve.mitre.org) |
| 5741 |
mod_log_config: Fix segfault (crash) when the '%{cookiename}C' log format |
| 5742 |
string is in use and a client sends a nameless, valueless cookie, causing |
| 5743 |
a denial of service. The issue existed since version 2.2.17 and 2.3.3. |
| 5744 |
PR 52256. [Rainer Canavan <rainer-apache 7val com>] |
| 5745 |
|
| 5746 |
*) mod_ssl: when compiled against OpenSSL 1.0.1 or later, allow explicit |
| 5747 |
control of TLSv1.1 and TLSv1.2 through the SSLProtocol directive. |
| 5748 |
[Kaspar Brand] |
| 5749 |
|
| 5750 |
*) mod_ssl: set OPENSSL_NO_SSL_INTERN when compiling against OpenSSL 1.0.1 |
| 5751 |
or later, to improve binary compatibility with future OpenSSL releases. |
| 5752 |
[Kaspar Brand] |
| 5753 |
|
| 5754 |
*) mod_mime: Don't arbitrarily bypass AddOutputFilter during a ProxyPass, |
| 5755 |
but then allow AddOutputFilter during a RewriteRule [P]. Make mod_mime |
| 5756 |
behave identically in both cases. PR52342. [Graham Leggett] |
| 5757 |
|
| 5758 |
*) Move ab, logresolve, httxt2dbm and apxs to bin from sbin, along with |
| 5759 |
corresponding man pages. [Graham Leggett] |
| 5760 |
|
| 5761 |
*) Distinguish properly between the bindir and sbindir directories when |
| 5762 |
installing binaries. Previously all binaries were silently installed to |
| 5763 |
sbindir, whether they were system administration commands or not. |
| 5764 |
[Graham Leggett] |
| 5765 |
|
| 5766 |
Changes with Apache 2.3.16 |
| 5767 |
|
| 5768 |
*) SECURITY: CVE-2011-4317 (cve.mitre.org) |
| 5769 |
Resolve additional cases of URL rewriting with ProxyPassMatch or |
| 5770 |
RewriteRule, where particular request-URIs could result in undesired |
| 5771 |
backend network exposure in some configurations. |
| 5772 |
[Joe Orton] |
| 5773 |
|
| 5774 |
*) core: Limit line length in .htaccess to 8K like in 2.2.x, to avoid |
| 5775 |
additional DoS potential. [Stefan Fritsch] |
| 5776 |
|
| 5777 |
*) core, all modules: Add unique tag to most error log messages. [Stefan |
| 5778 |
Fritsch] |
| 5779 |
|
| 5780 |
*) mod_socache_memcache: Change provider name from "mc" to "memcache" to |
| 5781 |
match module name. [Stefan Fritsch] |
| 5782 |
|
| 5783 |
*) mod_slotmem_shm: Change provider name from "shared" to "shm" to match |
| 5784 |
module name. [Stefan Fritsch] |
| 5785 |
|
| 5786 |
*) mod_ldap: Fix segfault with Solaris LDAP when enabling ldaps. This |
| 5787 |
requires an apr-util fix in which is available in apr-util >= 1.4.0. |
| 5788 |
PR 42682. [Stefan Fritsch] |
| 5789 |
|
| 5790 |
*) mod_rewrite: Add the AllowNoSlash RewriteOption, which makes it possible |
| 5791 |
for RewriteRules to be placed in .htaccess files that match the directory |
| 5792 |
with no trailing slash. PR 48304. |
| 5793 |
[Matthew Byng-Maddick <matthew byng-maddick bbc.co.uk>] |
| 5794 |
|
| 5795 |
*) mod_session_crypto: Add a SessionCryptoPassphraseFile directive so that |
| 5796 |
the administrator can hide the keys from the configuration. [Graham |
| 5797 |
Leggett] |
| 5798 |
|
| 5799 |
*) Introduce a per request version of the remote IP address, which can be |
| 5800 |
optionally modified by a module when the effective IP of the client |
| 5801 |
is not the same as the real IP of the client (such as a load balancer). |
| 5802 |
Introduce a per connection "peer_ip" and a per request "client_ip" to |
| 5803 |
distinguish between the raw IP address of the connection and the effective |
| 5804 |
IP address of the request. [Graham Leggett] |
| 5805 |
|
| 5806 |
*) ap_pass_brigade_fchk() function added. [Jim Jagielski] |
| 5807 |
|
| 5808 |
*) core: Pass ap_errorlog_info struct to error log hook. [Stefan Fritsch] |
| 5809 |
|
| 5810 |
*) mod_cache_disk: Make sure we check return codes on all writes and |
| 5811 |
attempts to close, and clean up after ourselves in these cases. |
| 5812 |
PR43589. [Graham Leggett] |
| 5813 |
|
| 5814 |
*) mod_cache_disk: Remove the unnecessary intermediate brigade while |
| 5815 |
writing to disk. Fixes a problem where mod_disk_cache was leaving |
| 5816 |
buckets in the intermediate brigade and not passing them to out on |
| 5817 |
exit. [Florian S. <f_los_ch yahoo.com>, Graham Leggett] |
| 5818 |
|
| 5819 |
*) mod_ssl: use a shorter setting for SSLCipherSuite in the default |
| 5820 |
default configuration file, and add some more information about |
| 5821 |
configuring a speed-optimized alternative. |
| 5822 |
[Kaspar Brand] |
| 5823 |
|
| 5824 |
*) mod_ssl: drop support for the SSLv2 protocol. [Kaspar Brand] |
| 5825 |
|
| 5826 |
*) mod_lua: Stop losing track of all but the most specific LuaHook* directives |
| 5827 |
when multiple per-directory config sections are used. Adds LuaInherit |
| 5828 |
directive to control how parent sections are merged. [Eric Covener] |
| 5829 |
|
| 5830 |
*) Server directive display (-L): Include directives of DSOs. |
| 5831 |
[Jeff Trawick] |
| 5832 |
|
| 5833 |
*) mod_cache: Make sure we merge headers correctly when we handle a |
| 5834 |
non cacheable conditional response. PR52120. [Graham Leggett] |
| 5835 |
|
| 5836 |
*) Pre GA removal of components that will not be included: |
| 5837 |
- mod_noloris was superseded by mod_reqtimeout |
| 5838 |
- mod_serf |
| 5839 |
- mpm_simple |
| 5840 |
[Rainer Jung] |
| 5841 |
|
| 5842 |
*) core: Set MaxMemFree 2048 by default. [Stefan Fritsch] |
| 5843 |
|
| 5844 |
*) mpm_event: Fix assertion failure during very high load. [Stefan Fritsch] |
| 5845 |
|
| 5846 |
*) configure: Additional modules loaded by default: mod_headers. |
| 5847 |
Modules moved from module set "few" to "most" and no longer loaded |
| 5848 |
by default: mod_actions, mod_allowmethods, mod_auth_form, mod_buffer, |
| 5849 |
mod_cgi(d), mod_include, mod_negotiation, mod_ratelimit, mod_request, |
| 5850 |
mod_userdir. [Rainer Jung] |
| 5851 |
|
| 5852 |
*) mod_lua: Use the right lua scope when used as a hook. [Rainer Jung] |
| 5853 |
|
| 5854 |
*) configure: Only load the really imporant modules (i.e. those enabled by |
| 5855 |
the 'few' selection) by default. Don't handle modules enabled with |
| 5856 |
--enable-foo specially. [Stefan Fritsch] |
| 5857 |
|
| 5858 |
*) end-generation hook: Fix false notification of end-of-generation for |
| 5859 |
temporary intervals with no active MPM children. [Jeff Trawick] |
| 5860 |
|
| 5861 |
*) mod_ssl: Add support for configuring persistent TLS session ticket |
| 5862 |
encryption/decryption keys (useful for clustered environments). |
| 5863 |
[Paul Querna, Kaspar Brand] |
| 5864 |
|
| 5865 |
*) mod_usertrack: Use random value instead of remote IP address. |
| 5866 |
[Stefan Fritsch] |
| 5867 |
|
| 5868 |
Changes with Apache 2.3.15 |
| 5869 |
|
| 5870 |
*) SECURITY: CVE-2011-3348 (cve.mitre.org) |
| 5871 |
mod_proxy_ajp: Respond with HTTP_NOT_IMPLEMENTED when the method is not |
| 5872 |
recognized. [Jean-Frederic Clere] |
| 5873 |
|
| 5874 |
*) SECURITY: CVE-2011-3192 (cve.mitre.org) |
| 5875 |
core: Fix handling of byte-range requests to use less memory, to avoid |
| 5876 |
denial of service. If the sum of all ranges in a request is larger than |
| 5877 |
the original file, ignore the ranges and send the complete file. |
| 5878 |
PR 51714. [Stefan Fritsch, Jim Jagielski, Ruediger Pluem, Eric Covener, |
| 5879 |
<lowprio20 gmail.com>] |
| 5880 |
|
| 5881 |
*) SECURITY: CVE-2011-3607 (cve.mitre.org) |
| 5882 |
core: Fix integer overflow in ap_pregsub. This can be triggered e.g. |
| 5883 |
with mod_setenvif via a malicious .htaccess. [Stefan Fritsch] |
| 5884 |
|
| 5885 |
*) SECURITY: CVE-2011-3368 (cve.mitre.org) |
| 5886 |
Reject requests where the request-URI does not match the HTTP |
| 5887 |
specification, preventing unexpected expansion of target URLs in |
| 5888 |
some reverse proxy configurations. [Joe Orton] |
| 5889 |
|
| 5890 |
*) configure: Load all modules in the generated default configuration |
| 5891 |
when using --enable-load-all-modules. [Rainer Jung] |
| 5892 |
|
| 5893 |
*) mod_reqtimeout: Change the default to set some reasonable timeout |
| 5894 |
values. [Stefan Fritsch] |
| 5895 |
|
| 5896 |
*) core, mod_dav_fs: Change default ETag to be "size mtime", i.e. remove |
| 5897 |
the inode. PR 49623. [Stefan Fritsch] |
| 5898 |
|
| 5899 |
*) mod_lua: Expose SSL variables via r:ssl_var_lookup(). [Eric Covener] |
| 5900 |
|
| 5901 |
*) mod_lua: LuaHook{AccessChecker,AuthChecker,CheckUserID,TranslateName} |
| 5902 |
can now additionally be run as "early" or "late" relative to other modules. |
| 5903 |
[Eric Covener] |
| 5904 |
|
| 5905 |
*) configure: By default, only load those modules that are either required |
| 5906 |
or explicitly selected by a configure --enable-foo argument. The |
| 5907 |
LoadModule statements for modules enabled by --enable-mods-shared=most |
| 5908 |
and friends will be commented out. [Stefan Fritsch] |
| 5909 |
|
| 5910 |
*) mod_lua: Prevent early Lua hooks (LuaHookTranslateName and |
| 5911 |
LuaHookQuickHandler) from being configured in <Directory>, <Files>, |
| 5912 |
and htaccess where the configuration would have been ignored. |
| 5913 |
[Eric Covener] |
| 5914 |
|
| 5915 |
*) mod_lua: Resolve "attempt to index local 'r' (a userdata value)" errors |
| 5916 |
in LuaMapHandler scripts [Eric Covener] |
| 5917 |
|
| 5918 |
*) mod_log_debug: Rename optional argument from if= to expr=, to be more |
| 5919 |
in line with other config directives. [Stefan Fritsch] |
| 5920 |
|
| 5921 |
*) mod_headers: Require an expression to be specified with expr=, to be more |
| 5922 |
in line with other config directives. [Stefan Fritsch] |
| 5923 |
|
| 5924 |
*) mod_substitute: To prevent overboarding memory usage, limit line length |
| 5925 |
to 1MB. [Stefan Fritsch] |
| 5926 |
|
| 5927 |
*) mod_lua: Make the query string (r.args) writable. [Eric Covener] |
| 5928 |
|
| 5929 |
*) mod_include: Add support for application/x-www-form-urlencoded encoding |
| 5930 |
and decoding. [Graham Leggett] |
| 5931 |
|
| 5932 |
*) rotatelogs: Add -c option to force logfile creation in every rotation |
| 5933 |
interval, even if empty. [Jan Kaluža <jkaluza redhat.com>] |
| 5934 |
|
| 5935 |
*) core: Limit ap_pregsub() to 64K, add ap_pregsub_ex() for longer strings. |
| 5936 |
[Stefan Fritsch] |
| 5937 |
|
| 5938 |
*) mod_session_crypto: Refactor to support the new apr_crypto API. |
| 5939 |
[Graham Leggett] |
| 5940 |
|
| 5941 |
*) http: Add missing Location header if local URL-path is used as |
| 5942 |
ErrorDocument for 30x. [Stefan Fritsch] |
| 5943 |
|
| 5944 |
*) mod_buffer: Make sure we step down for subrequests, but not for internal |
| 5945 |
redirects triggered by mod_rewrite. [Graham Leggett] |
| 5946 |
|
| 5947 |
*) mod_lua: add r:construct_url as a wrapper for ap_construct_url. |
| 5948 |
[Eric Covener] |
| 5949 |
|
| 5950 |
*) mod_remote_ip: Fix configuration of internal proxies. PR 49272. |
| 5951 |
[Jim Riggs <jim riggs me>] |
| 5952 |
|
| 5953 |
*) mpm_winnt: Handle AcceptFilter 'none' mode correctly; resolve specific |
| 5954 |
server IP endpoint and remote client IP upon connection. [William Rowe] |
| 5955 |
|
| 5956 |
*) mod_setenvif: Remove OID match which is obsoleted by SetEnvIfExpr with |
| 5957 |
PeerExtList(). [Stefan Fritsch] |
| 5958 |
|
| 5959 |
*) mpm_prefork, mpm_worker, mpm_event: If a child is created just before |
| 5960 |
graceful restart and then exits because of a missing lock file, don't |
| 5961 |
shutdown the whole server. PR 39311. [Shawn Michael |
| 5962 |
<smichael rightnow com>] |
| 5963 |
|
| 5964 |
*) mpm_event: Check the return value from ap_run_create_connection. |
| 5965 |
PR 41194. [Davi Arnaut] |
| 5966 |
|
| 5967 |
*) mod_mime_magic: Add signatures for PNG and SWF to the example config. |
| 5968 |
PR 48352. [Jeremy Wagner-Kaiser <jwagner-kaiser adknowledge com>] |
| 5969 |
|
| 5970 |
*) core, unixd: Add -D DUMP_RUN_CFG option to dump some configuration items |
| 5971 |
from the parsed (or default) config. This is useful for init scripts that |
| 5972 |
need to setup temporary directories and permissions. [Stefan Fritsch] |
| 5973 |
|
| 5974 |
*) core, mod_actions, mod_asis: Downgrade error log messages which accompany |
| 5975 |
a 404 request status from loglevel error to info. PR 35768. [Stefan |
| 5976 |
Fritsch] |
| 5977 |
|
| 5978 |
*) core: Fix hook sorting with Perl modules. PR 45076. [Torsten Foertsch |
| 5979 |
<torsten foertsch gmx net>] |
| 5980 |
|
| 5981 |
*) core: Enforce LimitRequestFieldSize after multiple headers with the same |
| 5982 |
name have been merged. [Stefan Fritsch] |
| 5983 |
|
| 5984 |
*) mod_ssl: If MaxMemFree is set, ask OpenSSL >= 1.0.0 to reduce memory |
| 5985 |
usage. PR 51618. [Cristian RodrÃguez <crrodriguez opensuse org>, |
| 5986 |
Stefan Fritsch] |
| 5987 |
|
| 5988 |
*) mod_ssl: At startup, when checking a server certificate whether it |
| 5989 |
matches the configured ServerName, also take dNSName entries in the |
| 5990 |
subjectAltName extension into account. PR 32652, PR 47051. [Kaspar Brand] |
| 5991 |
|
| 5992 |
*) mod_substitute: Reduce memory usage and copying of data. PR 50559. |
| 5993 |
[Stefan Fritsch] |
| 5994 |
|
| 5995 |
*) mod_ssl/proxy: enable the SNI extension for backend TLS connections |
| 5996 |
[Kaspar Brand] |
| 5997 |
|
| 5998 |
*) Add wrappers for malloc, calloc, realloc that check for out of memory |
| 5999 |
situations and use them in many places. PR 51568, PR 51569, PR 51571. |
| 6000 |
[Stefan Fritsch] |
| 6001 |
|
| 6002 |
*) Fix cross-compilation of mod_cgi/mod_cgid when APR_HAVE_STRUCT_RLIMIT is |
| 6003 |
false but RLIMIT_* are defined. PR51371. [Eric Covener] |
| 6004 |
|
| 6005 |
*) core: Correctly obey ServerName / ServerAlias if the Host header from the |
| 6006 |
request matches the VirtualHost address. |
| 6007 |
PR 51709. [Micha Lenk <micha lenk.info>] |
| 6008 |
|
| 6009 |
*) mod_unique_id: Use random number generator to initialize counter. |
| 6010 |
PR 45110. [Stefan Fritsch] |
| 6011 |
|
| 6012 |
*) core: Add convenience API for apr_random. [Stefan Fritsch] |
| 6013 |
|
| 6014 |
*) core: Add MaxRangeOverlaps and MaxRangeReversals directives to control |
| 6015 |
the number of overlapping and reversing ranges (respectively) permitted |
| 6016 |
before returning the entire resource, with a default limit of 20. |
| 6017 |
[Jim Jagielski] |
| 6018 |
|
| 6019 |
*) mod_ldap: Optional function uldap_ssl_supported(r) always returned false |
| 6020 |
if called from a virtual host with mod_ldap directives in it. Did not |
| 6021 |
affect mod_authnz_ldap's usage of mod_ldap. [Eric Covener] |
| 6022 |
|
| 6023 |
*) mod_filter: Instead of dropping the Accept-Ranges header when a filter |
| 6024 |
registered with AP_FILTER_PROTO_NO_BYTERANGE is present, |
| 6025 |
set the header value to "none". [Eric Covener, Ruediger Pluem] |
| 6026 |
|
| 6027 |
*) core: Allow MaxRanges none|unlimited|default and set 'Accept-Ranges: none' |
| 6028 |
in the case Ranges are being ignored with MaxRanges none. |
| 6029 |
[Eric Covener] |
| 6030 |
|
| 6031 |
*) mod_ssl: revamp CRL-based revocation checking when validating |
| 6032 |
certificates of clients or proxied servers. Completely delegate |
| 6033 |
CRL processing to OpenSSL, and add a new [Proxy]CARevocationCheck |
| 6034 |
directive for controlling the revocation checking mode. [Kaspar Brand] |
| 6035 |
|
| 6036 |
*) core: Add MaxRanges directive to control the number of ranges permitted |
| 6037 |
before returning the entire resource, with a default limit of 200. |
| 6038 |
[Eric Covener] |
| 6039 |
|
| 6040 |
*) mod_cache: Ensure that CacheDisable can correctly appear within |
| 6041 |
a LocationMatch. [Graham Leggett] |
| 6042 |
|
| 6043 |
*) mod_cache: Fix the moving of the CACHE filter, which erroneously |
| 6044 |
stood down if the original filter was not added by configuration. |
| 6045 |
[Graham Leggett] |
| 6046 |
|
| 6047 |
*) mod_ssl: improve certificate error logging. PR 47408. [Kaspar Brand] |
| 6048 |
|
| 6049 |
*) mod_authz_groupfile: Increase length limit of lines in the group file to |
| 6050 |
16MB. PR 43084. [Stefan Fritsch] |
| 6051 |
|
| 6052 |
*) core: Increase length limit of lines in the configuration file to 16MB. |
| 6053 |
PR 45888. PR 50824. [Stefan Fritsch] |
| 6054 |
|
| 6055 |
*) core: Add API for resizable buffers. [Stefan Fritsch] |
| 6056 |
|
| 6057 |
*) mod_ldap: Enable LDAPConnectionTimeout for LDAP toolkits that have |
| 6058 |
LDAP_OPT_CONNECT_TIMEOUT instead of LDAP_OPT_NETWORK_TIMEOUT, such |
| 6059 |
as Tivoli Directory Server 6.3 and later. [Eric Covener] |
| 6060 |
|
| 6061 |
*) mod_ldap: Change default number of retries from 10 to 3, and add |
| 6062 |
an LDAPRetries and LDAPRetryDelay directives. [Eric Covener] |
| 6063 |
|
| 6064 |
*) mod_authnz_ldap: Don't retry during authentication, because this just |
| 6065 |
multiplies the ample retries already being done by mod_ldap. [Eric Covener] |
| 6066 |
|
| 6067 |
*) configure: Allow to explicitly disable modules even with module selection |
| 6068 |
'reallyall'. [Stefan Fritsch] |
| 6069 |
|
| 6070 |
*) mod_rewrite: Check validity of each internal (int:) RewriteMap even if the |
| 6071 |
RewriteEngine is disabled in server context, avoiding a crash while |
| 6072 |
referencing the invalid int: map at runtime. PR 50994. |
| 6073 |
[Ben Noordhuis <info noordhuis nl>] |
| 6074 |
|
| 6075 |
*) mod_ssl, configure: require OpenSSL 0.9.7 or later. [Kaspar Brand] |
| 6076 |
|
| 6077 |
*) mod_ssl: remove ssl_toolkit_compat layer. [Kaspar Brand] |
| 6078 |
|
| 6079 |
*) mod_ssl, configure, ab: drop support for RSA BSAFE SSL-C toolkit. |
| 6080 |
[Kaspar Brand] |
| 6081 |
|
| 6082 |
*) mod_usertrack: Run mod_usertrack earlier in the fixups hook to ensure the |
| 6083 |
cookie is set when modules such as mod_rewrite trigger a redirect. Also |
| 6084 |
use r->err_headers_out for the cookie, for the same reason. PR29755. |
| 6085 |
[Sami J. Mäkinen <sjm almamedia fi>, Eric Covener] |
| 6086 |
|
| 6087 |
*) mod_proxy_http, mod_proxy_connect: Add 'proxy-status' and |
| 6088 |
'proxy-source-port' request notes for logging. PR 30195. [Stefan Fritsch] |
| 6089 |
|
| 6090 |
*) configure: Enable ldap modules in 'all' and 'most' selections if ldap |
| 6091 |
is compiled into apr-util. [Stefan Fritsch] |
| 6092 |
|
| 6093 |
*) core: Add ap_check_cmd_context()-check if a command is executed in |
| 6094 |
.htaccess file. [Stefan Fritsch] |
| 6095 |
|
| 6096 |
*) mod_deflate: Fix endless loop if first bucket is metadata. PR 51590. |
| 6097 |
[Torsten Foertsch <torsten foertsch gmx net>] |
| 6098 |
|
| 6099 |
*) mod_authn_socache: Fix to work in .htaccess if not configured anywhere |
| 6100 |
in httpd.conf, and introduce an AuthnCacheEnable directive. |
| 6101 |
PR 51991 [Nick Kew] |
| 6102 |
|
| 6103 |
*) mod_xml2enc: new (formerly third-party) module supporting |
| 6104 |
internationalisation for filters via smart charset sniffing |
| 6105 |
and conversion. [Nick Kew] |
| 6106 |
|
| 6107 |
*) mod_proxy_html: new (formerly third-party) module to fix up |
| 6108 |
HTML links in a reverse proxy situation, where a backend |
| 6109 |
generates URLs that are not resolvable by Clients. [Nick Kew] |
| 6110 |
|
| 6111 |
Changes with Apache 2.3.14 |
| 6112 |
|
| 6113 |
*) mod_proxy_ajp: Improve trace logging. [Rainer Jung] |
| 6114 |
|
| 6115 |
*) mod_proxy_ajp: Respect "reuse" flag in END_REPONSE packets. |
| 6116 |
[Rainer Jung] |
| 6117 |
|
| 6118 |
*) mod_proxy: enable absolute URLs to be rewritten with ProxyPassReverse, |
| 6119 |
e.g. to reverse proxy "Location: https://other-internal-server/login" |
| 6120 |
[Nick Kew] |
| 6121 |
|
| 6122 |
*) prefork, worker, event: Make sure crashes are logged to the error log if |
| 6123 |
httpd has already detached from the console. [Stefan Fritsch] |
| 6124 |
|
| 6125 |
*) prefork, worker, event: Reduce period during startup/restart where a |
| 6126 |
successive signal may be lost. PR 43696. [Arun Bhalla <arun shme net>] |
| 6127 |
|
| 6128 |
*) mod_allowmethods: Correct Merging of "reset" and do not allow an |
| 6129 |
empty parameter list for the AllowMethods directive. [Rainer Jung] |
| 6130 |
|
| 6131 |
*) configure: Update selection of modules for 'all' and 'most'. 'all' will |
| 6132 |
now enable all modules except for example and test modules. Make the |
| 6133 |
selection for 'most' more useful (including ssl and proxy). Both 'all' |
| 6134 |
and 'most' will now disable modules if dependencies are missing instead |
| 6135 |
of aborting. If a specific module is requested with --enable-XXX=yes, |
| 6136 |
missing dependencies will still cause configure to exit with an error. |
| 6137 |
[Stefan Fritsch] |
| 6138 |
|
| 6139 |
*) mod_ldap: Revert the integration of apr-ldap as ap_ldap which was done |
| 6140 |
in 2.3.13. [Stefan Fritsch] |
| 6141 |
|
| 6142 |
*) core: For '*' or '_default_' vhosts, use a wildcard address of any |
| 6143 |
address family, rather than IPv4 only. [Joe Orton] |
| 6144 |
|
| 6145 |
*) core, mod_rewrite, mod_ssl, mod_nw_ssl: Make the SERVER_NAME variable |
| 6146 |
include [ ] for literal IPv6 addresses, as mandated by RFC 3875. |
| 6147 |
PR 26005. [Stefan Fritsch] |
| 6148 |
|
| 6149 |
*) mod_negotiation: Fix parsing of Content-Length in type maps. PR 42203. |
| 6150 |
[Nagae Hidetake <nagae eagan jp>] |
| 6151 |
|
| 6152 |
*) core: Add more logging to ap_scan_script_header_err* functions. Add |
| 6153 |
ap_scan_script_header_err*_ex functions that take a module index for |
| 6154 |
logging. |
| 6155 |
mod_cgi, mod_cgid, mod_proxy_fcgi, mod_proxy_scgi, mod_isapi: Use the |
| 6156 |
new functions in order to make logging configurable per-module. |
| 6157 |
[Stefan Fritsch] |
| 6158 |
|
| 6159 |
*) mod_dir: Add DirectoryIndexRedirect to send an external redirect to |
| 6160 |
the proper index. [Eric Covener] |
| 6161 |
|
| 6162 |
*) mod_deflate: Don't try to compress requests with a zero sized body. |
| 6163 |
PR 51350. [Stefan Fritsch] |
| 6164 |
|
| 6165 |
*) core: Fix startup on IPv6-only systems. PR 50592. [Joe Orton, |
| 6166 |
<root linkage white-void net>] |
| 6167 |
|
| 6168 |
*) suexec: Add environment variables CONTEXT_DOCUMENT_ROOT, CONTEXT_PREFIX, |
| 6169 |
REDIRECT_ERROR_NOTES, REDIRECT_SCRIPT_FILENAME, REQUEST_SCHEME to the |
| 6170 |
whitelist in suexec. PR 51499. [Graham Laverty <graham reg ca>, |
| 6171 |
Stefan Fritsch] |
| 6172 |
|
| 6173 |
*) mod_rewrite: Fix regexp RewriteCond with NoCase. [Stefan Fritsch] |
| 6174 |
|
| 6175 |
*) mod_log_debug: New module that allows to log custom messages at various |
| 6176 |
phases in the request processing. [Stefan Fritsch] |
| 6177 |
|
| 6178 |
*) mod_ssl: Add some debug logging when loading server certificates. |
| 6179 |
PR 37912. [Nick Burch <nick burch alfresco com>] |
| 6180 |
|
| 6181 |
*) configure: Support reallyall option also for --enable-mods-static. |
| 6182 |
[Rainer Jung] |
| 6183 |
|
| 6184 |
*) mod_socache_dc: add --with-distcache to configure for choosing |
| 6185 |
the distcache installation directory. [Rainer Jung] |
| 6186 |
|
| 6187 |
*) mod_socache_dc: use correct build variable MOD_SOCACHE_DC_LDADD |
| 6188 |
instead of MOD_SOCACHE_LDADD in build macro. [Rainer Jung] |
| 6189 |
|
| 6190 |
*) mod_lua, mod_deflate: respect platform specific runpath linker |
| 6191 |
flag. [Rainer Jung] |
| 6192 |
|
| 6193 |
*) configure: Only link the httpd binary against PCRE. No other support |
| 6194 |
binary needs PCRE. [Rainer Jung] |
| 6195 |
|
| 6196 |
*) configure: tolerate dependency checking failures for modules if |
| 6197 |
they have been enabled implicitly. [Rainer Jung] |
| 6198 |
|
| 6199 |
*) configure: Allow to specify module specific custom linker flags via |
| 6200 |
the MOD_XXX_LDADD variables. [Rainer Jung] |
| 6201 |
|
| 6202 |
Changes with Apache 2.3.13 |
| 6203 |
|
| 6204 |
*) ab: Support specifying the local address to use. PR 48930. |
| 6205 |
[Peter Schuller <scode spotify com>] |
| 6206 |
|
| 6207 |
*) core: Add support to ErrorLogFormat for logging the system unique |
| 6208 |
thread id under Linux. [Stefan Fritsch] |
| 6209 |
|
| 6210 |
*) event: New AsyncRequestWorkerFactor directive to influence how many |
| 6211 |
connections will be accepted per process. [Stefan Fritsch] |
| 6212 |
|
| 6213 |
*) prefork, worker, event: Rename MaxClients to MaxRequestWorkers which |
| 6214 |
describes more accurately what it does. [Stefan Fritsch] |
| 6215 |
|
| 6216 |
*) rotatelogs: Add -p argument to specify custom program to invoke |
| 6217 |
after a log rotation. PR 51285. [Sven Ulland <sveniu ifi.uio.no>, |
| 6218 |
Joe Orton] |
| 6219 |
|
| 6220 |
*) mod_ssl: Don't do OCSP checks for valid self-issued certs. [Kaspar Brand] |
| 6221 |
|
| 6222 |
*) mod_ssl: Avoid unnecessary renegotiations with SSLVerifyDepth 0. |
| 6223 |
PR 48215. [Kaspar Brand] |
| 6224 |
|
| 6225 |
*) mod_status: Display information about asynchronous connections in the |
| 6226 |
server-status. PR 44377. [Stefan Fritsch] |
| 6227 |
|
| 6228 |
*) mpm_event: If the number of connections of a process is very high, or if |
| 6229 |
all workers are busy, don't accept new connections in that process. |
| 6230 |
[Stefan Fritsch] |
| 6231 |
|
| 6232 |
*) mpm_event: Process lingering close asynchronously instead of tying up |
| 6233 |
worker threads. [Jeff Trawick, Stefan Fritsch] |
| 6234 |
|
| 6235 |
*) mpm_event: If MaxMemFree is set, limit the number of pools that is kept |
| 6236 |
around. [Stefan Fritsch] |
| 6237 |
|
| 6238 |
*) mpm_event: Fix graceful restart aborting connections. PR 43359. |
| 6239 |
[Takashi Sato <takashi lans-tv com>] |
| 6240 |
|
| 6241 |
*) mod_ssl: Disable AECDH ciphers in example config. PR 51363. |
| 6242 |
[Rob Stradling <rob comodo com>] |
| 6243 |
|
| 6244 |
*) core: Introduce new function ap_get_conn_socket() to access the socket of |
| 6245 |
a connection. [Stefan Fritsch] |
| 6246 |
|
| 6247 |
*) mod_data: Introduce a filter to support RFC2397 data URLs. [Graham |
| 6248 |
Leggett] |
| 6249 |
|
| 6250 |
*) mod_userdir/mod_alias/mod_vhost_alias: Correctly set DOCUMENT_ROOT, |
| 6251 |
CONTEXT_DOCUMENT_ROOT, CONTEXT_PREFIX. PR 26052. PR 46198. |
| 6252 |
[Stefan Fritsch] |
| 6253 |
|
| 6254 |
*) core: Allow to override document_root on a per-request basis. Introduce |
| 6255 |
new context_document_root and context_prefix which provide information |
| 6256 |
about non-global URI-to-directory mappings (from e.g. mod_userdir or |
| 6257 |
mod_alias) to scripts. PR 49705. [Stefan Fritsch] |
| 6258 |
|
| 6259 |
*) core: Add <ElseIf> and <Else> to complement <If> sections. |
| 6260 |
[Stefan Fritsch] |
| 6261 |
|
| 6262 |
*) mod_ext_filter: Remove DebugLevel option in favor of per-module loglevel. |
| 6263 |
[Stefan Fritsch] |
| 6264 |
|
| 6265 |
*) mod_include: Make the "#if expr" element use the new "ap_expr" expression |
| 6266 |
parser. The old parser can still be used by setting the new directive |
| 6267 |
SSILegacyExprParser. [Stefan Fritsch] |
| 6268 |
|
| 6269 |
*) core: Add some features to ap_expr for use by mod_include: a restricted |
| 6270 |
mode that does not allow to bypass request access restrictions; new |
| 6271 |
variables DOCUMENT_URI (alias for REQUEST_URI), LAST_MODIFIED; -A as an |
| 6272 |
alias for -U; an additional data entry in ap_expr_eval_ctx_t for use by |
| 6273 |
the consumer; an extensible ap_expr_exec_ctx() API that allows to use that |
| 6274 |
data entry. [Stefan Fritsch] |
| 6275 |
|
| 6276 |
*) mod_include: Merge directory configs instead of one SSI* config directive |
| 6277 |
causing all other per-directory SSI* config directives to be reset. |
| 6278 |
[Stefan Fritsch] |
| 6279 |
|
| 6280 |
*) mod_charset_lite: Remove DebugLevel option in favour of per-module |
| 6281 |
loglevel. [Stefan Fritsch] |
| 6282 |
|
| 6283 |
*) core: Add ap_regexec_len() function that works with non-null-terminated |
| 6284 |
strings. PR 51231. [Yehezkel Horowitz <horowity checkpoint com>] |
| 6285 |
|
| 6286 |
*) mod_authnz_ldap: If the LDAP server returns constraint violation, |
| 6287 |
don't treat this as an error but as "auth denied". [Stefan Fritsch] |
| 6288 |
|
| 6289 |
*) mod_proxy_fcgi|scgi: Add support for "best guess" of PATH_INFO |
| 6290 |
for SCGI/FCGI. PR 50880, 50851. [Mark Montague <mark catseye.org>, |
| 6291 |
Jim Jagielski] |
| 6292 |
|
| 6293 |
*) mod_cache: When content is served stale, and there is no means to |
| 6294 |
revalidate the content using ETag or Last-Modified, and we have |
| 6295 |
mandated no stale-on-error behaviour, stand down and don't cache. |
| 6296 |
Saves a cache write that will never be read. |
| 6297 |
[Graham Leggett] |
| 6298 |
|
| 6299 |
*) mod_reqtimeout: Fix a timed out connection going into the keep-alive |
| 6300 |
state after a timeout when discarding a request body. PR 51103. |
| 6301 |
[Stefan Fritsch] |
| 6302 |
|
| 6303 |
*) core: Add various file existence test operators to ap_expr. |
| 6304 |
[Stefan Fritsch] |
| 6305 |
|
| 6306 |
*) mod_proxy_express: New mass reverse-proxy switch extension for |
| 6307 |
mod_proxy. [Jim Jagielski] |
| 6308 |
|
| 6309 |
*) configure: Fix script error when configuring module set "reallyall". |
| 6310 |
[Rainer Jung] |
| 6311 |
|
| 6312 |
Changes with Apache 2.3.12 |
| 6313 |
|
| 6314 |
*) configure, core: Provide easier support for APR's hook probe |
| 6315 |
capability. [Jim Jagielski, Jeff Trawick] |
| 6316 |
|
| 6317 |
*) Silence autoconf 2.68 warnings. [Rainer Jung] |
| 6318 |
|
| 6319 |
*) mod_authnz_ldap: Resolve crash when LDAP is used for authorization only |
| 6320 |
[Scott Hill <shill genscape.com>] |
| 6321 |
|
| 6322 |
*) support: Make sure check_forensic works with mod_unique_id loaded |
| 6323 |
[Joe Schaefer] |
| 6324 |
|
| 6325 |
*) Add child_status hook for tracking creation/termination of MPM child |
| 6326 |
processes. Add end_generation hook for notification when the last |
| 6327 |
MPM child of a generation exits. [Jeff Trawick] |
| 6328 |
|
| 6329 |
*) mod_ldap: Make LDAPSharedCacheSize 0 create a non-shared-memory cache per |
| 6330 |
process as opposed to disabling caching completely. This allows to use |
| 6331 |
the non-shared-memory cache as a workaround for the shared memory cache |
| 6332 |
not being available during graceful restarts. PR 48958. [Stefan Fritsch] |
| 6333 |
|
| 6334 |
*) Add new ap_reserve_module_slots/ap_reserve_module_slots_directive API, |
| 6335 |
necessary if a module (like mod_perl) registers additional modules late |
| 6336 |
in the startup phase. [Stefan Fritsch] |
| 6337 |
|
| 6338 |
*) core: Prevent segfault if DYNAMIC_MODULE_LIMIT is reached. PR 51072. |
| 6339 |
[Torsten Förtsch <torsten foertsch gmx net>] |
| 6340 |
|
| 6341 |
*) WinNT MPM: Improve robustness under heavy load. [Jeff Trawick] |
| 6342 |
|
| 6343 |
*) MinGW build improvements. PR 49535. [John Vandenberg |
| 6344 |
<jayvdb gmail.com>, Jeff Trawick] |
| 6345 |
|
| 6346 |
*) core: Support module names with colons in loglevel configuration. |
| 6347 |
[Torsten Förtsch <torsten foertsch gmx net>] |
| 6348 |
|
| 6349 |
*) mod_ssl, ab: Support OpenSSL compiled without SSLv2 support. |
| 6350 |
[Stefan Fritsch] |
| 6351 |
|
| 6352 |
*) core: Abort if the MPM is changed across restart. [Jeff Trawick] |
| 6353 |
|
| 6354 |
*) mod_proxy_ajp: Add support for 'ProxyErrorOverride on'. PR 50945. |
| 6355 |
[Peter Pramberger <peter pramberger.at>, Jim Jagielski] |
| 6356 |
|
| 6357 |
*) mod_proxy_fcgi: Add support for 'ProxyErrorOverride on'. PR 50913. |
| 6358 |
[Mark Montague <mark catseye.org>, Jim Jagielski] |
| 6359 |
|
| 6360 |
*) core: Change the APIs of ap_cfg_getline() and ap_cfg_getc() to return an |
| 6361 |
error code. Abort with a nice error message if a config line is too long. |
| 6362 |
Partial fix for PR 50824. [Stefan Fritsch] |
| 6363 |
|
| 6364 |
*) mod_info: Dump config to stdout during startup if -DDUMP_CONFIG is |
| 6365 |
specified. PR 31956. [Stefan Fritsch] |
| 6366 |
|
| 6367 |
*) Restore visibility of DEFAULT_PIDLOG to core and modules. MPM |
| 6368 |
helper function ap_remove_pid() added. [Jeff Trawick] |
| 6369 |
|
| 6370 |
*) Enable DEFAULT_REL_RUNTIMEDIR on Windows and NetWare. [various] |
| 6371 |
|
| 6372 |
*) Correct C++ incompatibility with http_log.h. [Stefan Fritsch, Jeff |
| 6373 |
Trawick] |
| 6374 |
|
| 6375 |
*) mod_log_config: Prevent segfault. PR 50861. [Torsten Förtsch |
| 6376 |
<torsten.foertsch gmx.net>] |
| 6377 |
|
| 6378 |
*) core: AllowEncodedSlashes new option NoDecode to allow encoded slashes |
| 6379 |
in request URL path info but not decode them. Change behavior of option |
| 6380 |
"On" to decode the encoded slashes as 2.0 and 2.2 do. PR 35256, |
| 6381 |
PR 46830. [Dan Poirier] |
| 6382 |
|
| 6383 |
*) mod_ssl: Check SNI hostname against Host header case-insensitively. |
| 6384 |
PR 49491. [Mayank Agrawal <magrawal.08 gmail.com>] |
| 6385 |
|
| 6386 |
*) mod_ldap: Add LDAPConnectionPoolTTL to give control over lifetime |
| 6387 |
of bound backend LDAP connections. PR47634 [Eric Covener] |
| 6388 |
|
| 6389 |
*) mod_cache: Make CacheEnable and CacheDisable configurable per |
| 6390 |
directory in addition to per server, making them work from within |
| 6391 |
a LocationMatch. [Graham Leggett] |
| 6392 |
|
| 6393 |
*) worker, event, prefork: Correct several issues when built as |
| 6394 |
DSOs; most notably, the scoreboard was reinitialized during graceful |
| 6395 |
restart, such that processes of the previous generation were not |
| 6396 |
observable. [Jeff Trawick] |
| 6397 |
|
| 6398 |
Changes with Apache 2.3.11 |
| 6399 |
|
| 6400 |
*) mod_win32: Added shebang check for '! so that .vbs scripts work as CGI. |
| 6401 |
Win32's cscript interpreter can only use a single quote as comment char. |
| 6402 |
[Guenter Knauf] |
| 6403 |
|
| 6404 |
*) mod_proxy: balancer-manager now uses POST instead of GET. |
| 6405 |
[Jim Jagielski] |
| 6406 |
|
| 6407 |
*) core: new util function: ap_parse_form_data(). Previously, |
| 6408 |
this capability was tucked away in mod_request. [Jim Jagielski] |
| 6409 |
|
| 6410 |
*) core: new hook: ap_run_pre_read_request. [Jim Jagielski] |
| 6411 |
|
| 6412 |
*) modules: Fix many modules that were not correctly initializing if they |
| 6413 |
were not active during server startup but got enabled later during a |
| 6414 |
graceful restart. [Stefan Fritsch] |
| 6415 |
|
| 6416 |
*) core: Create new ap_state_query function that allows modules to determine |
| 6417 |
if the current configuration run is the initial one at server startup, |
| 6418 |
and if the server is started for testing/config dumping only. |
| 6419 |
[Stefan Fritsch] |
| 6420 |
|
| 6421 |
*) mod_proxy: Runtime configuration of many parameters for existing |
| 6422 |
balancers via the balancer-manager. [Jim Jagielski] |
| 6423 |
|
| 6424 |
*) mod_proxy: Runtime addition of new workers (BalancerMember) for existing |
| 6425 |
balancers via the balancer-manager. [Jim Jagielski] |
| 6426 |
|
| 6427 |
*) mod_cache: When a bad Expires date is present, we need to behave as if |
| 6428 |
the Expires is in the past, not as if the Expires is missing. PR 16521. |
| 6429 |
[Co-Advisor <coad measurement-factory.com>] |
| 6430 |
|
| 6431 |
*) mod_cache: We must ignore quoted-string values that appear in a |
| 6432 |
Cache-Control header. PR 50199. [Graham Leggett] |
| 6433 |
|
| 6434 |
*) mod_dav: Revert change to send 501 error if unknown Content-* header is |
| 6435 |
received for a PUT request. PR 42978. [Stefan Fritsch] |
| 6436 |
|
| 6437 |
*) mod_cache: Respect s-maxage as described by RFC2616 14.9.3, which must |
| 6438 |
take precedence if present. PR 35247. [Graham Leggett] |
| 6439 |
|
| 6440 |
*) mod_ssl: Fix a possible startup failure if multiple SSL vhosts |
| 6441 |
are configured with the same ServerName and private key file. |
| 6442 |
[Masahiro Matsuya <mmatsuya redhat.com>, Joe Orton] |
| 6443 |
|
| 6444 |
*) mod_socache_dc: Make module compile by fixing some typos. |
| 6445 |
PR 50735 [Mark Montague <mark catseye.org>] |
| 6446 |
|
| 6447 |
*) prefork: Update MPM state in children during a graceful stop or |
| 6448 |
restart. PR 41743. [Andrew Punch <andrew.punch 247realmedia.com>] |
| 6449 |
|
| 6450 |
*) mod_mime: Ignore leading dots when looking for mime extensions. |
| 6451 |
PR 50434 [Stefan Fritsch] |
| 6452 |
|
| 6453 |
*) core: Add support to set variables with the 'Define' directive. The |
| 6454 |
variables that can then be used in the config using the ${VAR} syntax |
| 6455 |
known from envvar interpolation. [Stefan Fritsch] |
| 6456 |
|
| 6457 |
*) mod_proxy_http: make adding of X-Forwarded-* headers configurable. |
| 6458 |
ProxyAddHeaders defaults to On. [Vincent Deffontaines] |
| 6459 |
|
| 6460 |
*) mod_slotmem_shm: Increase memory alignment for slotmem data. |
| 6461 |
[Rainer Jung] |
| 6462 |
|
| 6463 |
*) mod_ssl: Add config options for OCSP: SSLOCSPResponderTimeout, |
| 6464 |
SSLOCSPResponseMaxAge, SSLOCSPResponseTimeSkew. |
| 6465 |
[Kaspar Brand <httpd-dev.2011 velox.ch>] |
| 6466 |
|
| 6467 |
*) mod_ssl: Revamp output buffering to reduce network overhead for |
| 6468 |
output fragmented into many buckets, such as chunked HTTP responses. |
| 6469 |
[Joe Orton] |
| 6470 |
|
| 6471 |
*) core: Apply <If> sections to all requests, not only to file base requests. |
| 6472 |
Allow to use <If> inside <Directory>, <Location>, and <Files> sections. |
| 6473 |
The merging of <If> sections now happens after the merging of <Location> |
| 6474 |
sections, even if an <If> section is embedded inside a <Directory> or |
| 6475 |
<Files> section. [Stefan Fritsch] |
| 6476 |
|
| 6477 |
*) mod_proxy: Refactor usage of shared data by dropping the scoreboard |
| 6478 |
and using slotmem. Create foundation for dynamic growth/changes of |
| 6479 |
members within a balancer. Remove BalancerNonce in favor of a |
| 6480 |
per-balancer 'nonce' parameter. [Jim Jagielski] |
| 6481 |
|
| 6482 |
*) mod_status: Don't show slots which are disabled by MaxClients as open. |
| 6483 |
PR 47022 [Jordi Prats <jordi prats gmail com>, Stefan Fritsch] |
| 6484 |
|
| 6485 |
*) mpm_prefork: Fix ap_mpm_query results for AP_MPMQ_MAX_DAEMONS and |
| 6486 |
AP_MPMQ_MAX_THREADS. |
| 6487 |
|
| 6488 |
*) mod_authz_core: Fix bug in merging logic if user-based and non-user-based |
| 6489 |
authorization directives were mixed. [Stefan Fritsch] |
| 6490 |
|
| 6491 |
*) mod_authn_socache: change directive name from AuthnCacheProvider |
| 6492 |
to AuthnCacheProvideFor. The term "provider" is overloaded in |
| 6493 |
this module, and we should avoid confusion between the provider |
| 6494 |
of a backend (AuthnCacheSOCache) and the authn provider(s) for |
| 6495 |
which this module provides cacheing (AuthnCacheProvideFor). |
| 6496 |
[Nick Kew] |
| 6497 |
|
| 6498 |
*) mod_proxy_http: Allocate the fake backend request from a child pool |
| 6499 |
of the backend connection, instead of misusing the pool of the frontend |
| 6500 |
request. Fixes a thread safety issue where buckets set aside in the |
| 6501 |
backend connection leak into other threads, and then disappear when |
| 6502 |
the frontend request is cleaned up, in turn causing corrupted buckets |
| 6503 |
to make other threads spin. [Graham Leggett] |
| 6504 |
|
| 6505 |
*) mod_ssl: Change the format of the SSL_{CLIENT,SERVER}_{I,S}_DN variables |
| 6506 |
to be RFC 2253 compatible, convert non-ASCII characters to UTF8, and |
| 6507 |
escape other special characters with backslashes. The old format can |
| 6508 |
still be used with the LegacyDNStringFormat argument to SSLOptions. |
| 6509 |
|
| 6510 |
*) core, mod_rewrite: Make the REQUEST_SCHEME variable available to |
| 6511 |
scripts and mod_rewrite. [Stefan Fritsch] |
| 6512 |
|
| 6513 |
*) mod_rewrite: Allow to use arbitrary boolean expressions (ap_expr) in |
| 6514 |
RewriteCond. [Stefan Fritsch] |
| 6515 |
|
| 6516 |
*) mod_rewrite: Allow to unset environment variables using E=!VAR. |
| 6517 |
PR 49512. [Mark Drayton <mark markdrayton info>, Stefan Fritsch] |
| 6518 |
|
| 6519 |
*) mod_headers: Restore the 2.3.8 and earlier default for the first |
| 6520 |
argument of the Header directive ("onsuccess"). [Eric Covener] |
| 6521 |
|
| 6522 |
*) core: Disallow the mixing of relative and absolute Options PR 33708. |
| 6523 |
[Sönke Tesch <st kino-fahrplan.de>] |
| 6524 |
|
| 6525 |
*) core: When exporting request headers to HTTP_* environment variables, |
| 6526 |
drop variables whose names contain invalid characters. Describe in the |
| 6527 |
docs how to restore the old behaviour. [Malte S. Stretz <mss apache org>] |
| 6528 |
|
| 6529 |
*) core: When selecting an IP-based virtual host, favor an exact match for |
| 6530 |
the port over a wildcard (or omitted) port instead of favoring the one |
| 6531 |
that came first in the configuration file. [Eric Covener] |
| 6532 |
|
| 6533 |
*) core: Overlapping virtual host address/port combinations now implicitly |
| 6534 |
enable name-based virtual hosting for that address. The NameVirtualHost |
| 6535 |
directive has no effect, and _default_ is interpreted the same as "*". |
| 6536 |
[Eric Covener] |
| 6537 |
|
| 6538 |
*) core: In the absence of any Options directives, the default is now |
| 6539 |
"FollowSymlinks" instead of "All". [Igor Galić] |
| 6540 |
|
| 6541 |
*) rotatelogs: Add -e option to write logs through to stdout for optional |
| 6542 |
further processing. [Graham Leggett] |
| 6543 |
|
| 6544 |
*) mod_ssl: Correctly read full lines in input filter when the line is |
| 6545 |
incomplete during first read. PR 50481. [Ruediger Pluem] |
| 6546 |
|
| 6547 |
*) mod_authz_core: Add AuthzSendForbiddenOnFailure directive to allow |
| 6548 |
sending '403 FORBIDDEN' instead of '401 UNAUTHORIZED' if authorization |
| 6549 |
fails for an authenticated user. PR 40721. [Stefan Fritsch] |
| 6550 |
|
| 6551 |
Changes with Apache 2.3.10 |
| 6552 |
|
| 6553 |
*) mod_rewrite: Don't implicitly URL-escape the original query string |
| 6554 |
when no substitution has changed it. PR 50447. [Eric Covener] |
| 6555 |
|
| 6556 |
*) core: Honor 'AcceptPathInfo OFF' during internal redirects, |
| 6557 |
such as per-directory mod_rewrite substitutions. PR 50349. |
| 6558 |
[Eric Covener] |
| 6559 |
|
| 6560 |
*) mod_rewrite: Add 'RewriteOptions InheritBefore' to put the base |
| 6561 |
rules/conditions before the overridden rules/conditions. PR 39313. |
| 6562 |
[Jérôme Grandjanny <jerome.grandjanny cea.fr>] |
| 6563 |
|
| 6564 |
*) mod_autoindex: add IndexIgnoreReset to reset the list of IndexIgnored |
| 6565 |
filenames in higher precedence configuration sections. PR 24243. |
| 6566 |
[Eric Covener] |
| 6567 |
|
| 6568 |
*) mod_cgid: RLimit* directive support for mod_cgid. PR 42135 |
| 6569 |
[Eric Covener] |
| 6570 |
|
| 6571 |
*) core: Fail startup when the argument to ServerName looks like a glob |
| 6572 |
or a regular expression instead of a hostname (*?[]). PR 39863 |
| 6573 |
[Rahul Nair <rahul.g.nair gmail.com>] |
| 6574 |
|
| 6575 |
*) mod_userdir: Add merging of enable, disable, and filename arguments |
| 6576 |
to UserDir directive, leaving enable/disable of userlists unmerged. |
| 6577 |
PR 44076 [Eric Covener] |
| 6578 |
|
| 6579 |
*) httpd: When no -k option is provided on the httpd command line, the server |
| 6580 |
was starting without checking for an existing pidfile. PR 50350 |
| 6581 |
[Eric Covener] |
| 6582 |
|
| 6583 |
*) mod_proxy: Put the worker in error state if the SSL handshake with the |
| 6584 |
backend fails. PR 50332. |
| 6585 |
[Daniel Ruggeri <DRuggeri primary.net>, Ruediger Pluem] |
| 6586 |
|
| 6587 |
*) mod_cache_disk: Fix Windows build which was broken after renaming |
| 6588 |
the module. [Gregg L. Smith] |
| 6589 |
|
| 6590 |
Changes with Apache 2.3.9 |
| 6591 |
|
| 6592 |
*) SECURITY: CVE-2010-1623 (cve.mitre.org) |
| 6593 |
Fix a denial of service attack against mod_reqtimeout. |
| 6594 |
[Stefan Fritsch] |
| 6595 |
|
| 6596 |
*) mod_headers: Change default first argument of Header directive |
| 6597 |
from "onsuccess" to "always". [Eric Covener] |
| 6598 |
|
| 6599 |
*) mod_include: Add the onerror attribute to the include element, |
| 6600 |
allowing an URL to be specified to include on error. [Graham |
| 6601 |
Leggett] |
| 6602 |
|
| 6603 |
*) mod_cache_disk: mod_disk_cache renamed to mod_cache_disk, to be |
| 6604 |
consistent with the naming of other modules. [Graham Leggett] |
| 6605 |
|
| 6606 |
*) mod_setenvif: Add SetEnvIfExpr directive to set env var depending on |
| 6607 |
expression. [Stefan Fritsch] |
| 6608 |
|
| 6609 |
*) mod_proxy: Fix ProxyPassInterpolateEnv directive. PR 50292. |
| 6610 |
[Stefan Fritsch] |
| 6611 |
|
| 6612 |
*) suEXEC: Add Suexec directive to disable suEXEC without renaming the |
| 6613 |
binary (Suexec Off), or force startup failure if suEXEC is required |
| 6614 |
but not supported (Suexec On). Change SuexecUserGroup to fail |
| 6615 |
startup instead of just printing a warning if suEXEC is disabled. |
| 6616 |
[Jeff Trawick] |
| 6617 |
|
| 6618 |
*) core: Add Error directive for aborting startup or htaccess processing |
| 6619 |
with a specified error message. [Jeff Trawick] |
| 6620 |
|
| 6621 |
*) mod_rewrite: Fix the RewriteEngine directive to work within a |
| 6622 |
location. Previously, once RewriteEngine was switched on globally, |
| 6623 |
it was impossible to switch off. [Graham Leggett] |
| 6624 |
|
| 6625 |
*) core, mod_include, mod_ssl: Move the expression parser derived from |
| 6626 |
mod_include back into mod_include. Replace ap_expr with a parser |
| 6627 |
derived from mod_ssl's parser. Make mod_ssl use the new parser. Rework |
| 6628 |
ap_expr's public interface and provide hooks for modules to add variables |
| 6629 |
and functions. [Stefan Fritsch] |
| 6630 |
|
| 6631 |
*) core: Do the hook sorting earlier so that the hooks are properly sorted |
| 6632 |
for the pre_config hook and during parsing the config. [Stefan Fritsch] |
| 6633 |
|
| 6634 |
*) core: In the absence of any AllowOverride directives, the default is now |
| 6635 |
"None" instead of "All". PR49823 [Eric Covener] |
| 6636 |
|
| 6637 |
*) mod_proxy: Don't allow ProxyPass or ProxyPassReverse in |
| 6638 |
<Directory> or <Files>. PR47765 [Eric Covener] |
| 6639 |
|
| 6640 |
*) prefork/worker/event MPMS: default value (when no directive is present) |
| 6641 |
of MaxConnectionsPerChild/MaxRequestsPerChild is changed to 0 from 10000 |
| 6642 |
to match default configuration and manual. PR47782 [Eric Covener] |
| 6643 |
|
| 6644 |
*) proxy_connect: Don't give up in the middle of a CONNECT tunnel |
| 6645 |
when the child process is starting to exit. PR50220. [Eric Covener] |
| 6646 |
|
| 6647 |
*) mod_autoindex: Fix inheritance of mod_autoindex directives into |
| 6648 |
contexts that don't have any mod_autoindex directives. PR47766. |
| 6649 |
[Eric Covener] |
| 6650 |
|
| 6651 |
*) mod_rewrite: Add END flag for RewriteRule to prevent further rounds |
| 6652 |
of rewrite processing when a per-directory substitution occurs. |
| 6653 |
[Eric Covener] |
| 6654 |
|
| 6655 |
*) mod_ssl: Make sure to always log an error if loading of CA certificates |
| 6656 |
fails. PR 40312. [Paul Tiemann <issues apache org ourdetour com>] |
| 6657 |
|
| 6658 |
*) mod_dav: Send 501 error if unknown Content-* header is received for a PUT |
| 6659 |
request (RFC 2616 9.6). PR 42978. [Stefan Fritsch] |
| 6660 |
|
| 6661 |
*) mod_dav: Send 400 error if malformed Content-Range header is received for |
| 6662 |
a put request (RFC 2616 14.16). PR 49825. [Stefan Fritsch] |
| 6663 |
|
| 6664 |
*) mod_proxy: Release the backend connection as soon as EOS is detected, |
| 6665 |
so the backend isn't forced to wait for the client to eventually |
| 6666 |
acknowledge the data. [Graham Leggett] |
| 6667 |
|
| 6668 |
*) mod_proxy: Optimise ProxyPass within a Location so that it is stored |
| 6669 |
per-directory, and chosen during the location walk. Make ProxyPass |
| 6670 |
work correctly from within a LocationMatch. [Graham Leggett] |
| 6671 |
|
| 6672 |
*) core: Fix segfault if per-module LogLevel is on virtual host |
| 6673 |
scope. PR 50117. [Stefan Fritsch] |
| 6674 |
|
| 6675 |
*) mod_proxy: Move the ProxyErrorOverride directive to have per |
| 6676 |
directory scope. [Graham Leggett] |
| 6677 |
|
| 6678 |
*) mod_allowmethods: New module to deny certain HTTP methods without |
| 6679 |
interfering with authentication/authorization. [Paul Querna, |
| 6680 |
Igor Galić, Stefan Fritsch] |
| 6681 |
|
| 6682 |
*) mod_ssl: Log certificate information and improve error message if client |
| 6683 |
cert verification fails. PR 50093, PR 50094. [Lassi Tuura <lat cern ch>, |
| 6684 |
Stefan Fritsch] |
| 6685 |
|
| 6686 |
*) htcacheclean: Teach htcacheclean to limit cache size by number of |
| 6687 |
inodes in addition to size of files. Prevents a cache disk from |
| 6688 |
running out of space when many small files are cached. |
| 6689 |
[Graham Leggett] |
| 6690 |
|
| 6691 |
*) core: Rename MaxRequestsPerChild to MaxConnectionsPerChild, which |
| 6692 |
describes more accurately what the directive does. The old name |
| 6693 |
still works but logs a warning. [Stefan Fritsch] |
| 6694 |
|
| 6695 |
*) mod_cache: Optionally serve stale data when a revalidation returns a |
| 6696 |
5xx response, controlled by the CacheStaleOnError directive. |
| 6697 |
[Graham Leggett] |
| 6698 |
|
| 6699 |
*) htcacheclean: Allow the listing of valid URLs within the cache, with |
| 6700 |
the option to list entry metadata such as sizes and times. [Graham |
| 6701 |
Leggett] |
| 6702 |
|
| 6703 |
*) mod_cache: correctly parse quoted strings in cache headers. |
| 6704 |
PR 50199 [Nick Kew] |
| 6705 |
|
| 6706 |
*) mod_cache: Allow control over the base URL of reverse proxied requests |
| 6707 |
using the CacheKeyBaseURL directive, so that the cache key can be |
| 6708 |
calculated from the endpoint URL instead of the server URL. [Graham |
| 6709 |
Leggett] |
| 6710 |
|
| 6711 |
*) mod_cache: CacheLastModifiedFactor, CacheStoreNoStore, CacheStorePrivate, |
| 6712 |
CacheStoreExpired, CacheIgnoreNoLastMod, CacheDefaultExpire, |
| 6713 |
CacheMinExpire and CacheMaxExpire can be set per directory/location. |
| 6714 |
[Graham Leggett] |
| 6715 |
|
| 6716 |
*) mod_disk_cache: CacheMaxFileSize, CacheMinFileSize, CacheReadSize and |
| 6717 |
CacheReadTime can be set per directory/location. [Graham Leggett] |
| 6718 |
|
| 6719 |
*) core: Speed up config parsing if using a very large number of config |
| 6720 |
files. PR 50002 [andrew cloudaccess net] |
| 6721 |
|
| 6722 |
*) mod_cache: Support the caching of HEAD requests. [Graham Leggett] |
| 6723 |
|
| 6724 |
*) htcacheclean: Allow the option to round up file sizes to a given |
| 6725 |
block size, improving the accuracy of disk usage. [Graham Leggett] |
| 6726 |
|
| 6727 |
*) mod_ssl: Add authz providers for use with mod_authz_core and its |
| 6728 |
RequireAny/RequireAll containers: 'ssl' (equivalent to SSLRequireSSL), |
| 6729 |
'ssl-verify-client' (for use with 'SSLVerifyClient optional'), and |
| 6730 |
'ssl-require' (expressions with same syntax as SSLRequire). |
| 6731 |
[Stefan Fritsch] |
| 6732 |
|
| 6733 |
*) mod_ssl: Make the ssl expression parser thread-safe. It now requires |
| 6734 |
bison instead of yacc. [Stefan Fritsch] |
| 6735 |
|
| 6736 |
*) mod_disk_cache: Change on-disk header file format to support the |
| 6737 |
link of the device/inode of the data file to the matching header |
| 6738 |
file, and to support the option of not writing a data file when |
| 6739 |
the data file is empty. [Graham Leggett] |
| 6740 |
|
| 6741 |
*) core/mod_unique_id: Add generate_log_id hook to allow to use |
| 6742 |
the ID generated by mod_unique_id as error log ID for requests. |
| 6743 |
[Stefan Fritsch] |
| 6744 |
|
| 6745 |
*) mod_cache: Make sure that we never allow a 304 Not Modified response |
| 6746 |
that we asked for to leak to the client should the 304 response be |
| 6747 |
uncacheable. PR45341 [Graham Leggett] |
| 6748 |
|
| 6749 |
*) mod_cache: Add the cache_status hook to register the final cache |
| 6750 |
decision hit/miss/revalidate. Add optional support for an X-Cache |
| 6751 |
and/or an X-Cache-Detail header to add the cache status to the |
| 6752 |
response. PR48241 [Graham Leggett] |
| 6753 |
|
| 6754 |
*) mod_authz_host: Add 'local' provider that matches connections originating |
| 6755 |
on the local host. PR 19938. [Stefan Fritsch] |
| 6756 |
|
| 6757 |
*) Event MPM: Fix crash accessing pollset on worker thread when child |
| 6758 |
process is exiting. [Jeff Trawick] |
| 6759 |
|
| 6760 |
*) core: For process invocation (cgi, fcgid, piped loggers and so forth) |
| 6761 |
pass the system library path (LD_LIBRARY_PATH or platform-specific |
| 6762 |
variables) along with the system PATH, by default. Both should be |
| 6763 |
overridden together as desired using PassEnv etc; see mod_env. |
| 6764 |
[William Rowe] |
| 6765 |
|
| 6766 |
*) mod_cache: Introduce CacheStoreExpired, to allow administrators to |
| 6767 |
capture a stale backend response, perform If-Modified-Since requests |
| 6768 |
against the backend, and serving from the cache all 304 responses. |
| 6769 |
This restores pre-2.2.4 cache behavior. [William Rowe] |
| 6770 |
|
| 6771 |
*) mod_rewrite: Introduce <=, >= string comparison operators, and integer |
| 6772 |
comparators -lt, -le, -eq, -ge, and -gt. To help bash users and drop |
| 6773 |
the ambiguity of the symlink test "-ltest", introduce -h or -L as |
| 6774 |
symlink test operators. [William Rowe] |
| 6775 |
|
| 6776 |
*) mod_cache: Give the cache provider the opportunity to choose to cache |
| 6777 |
or not cache based on the buckets present in the brigade, such as the |
| 6778 |
presence of a FILE bucket. |
| 6779 |
[Graham Leggett] |
| 6780 |
|
| 6781 |
*) mod_authz_core: Allow authz providers to check args while reading the |
| 6782 |
config and allow to cache parsed args. Move 'all' and 'env' authz |
| 6783 |
providers from mod_authz_host to mod_authz_core. Add 'method' authz |
| 6784 |
provider depending on the HTTP method. [Stefan Fritsch] |
| 6785 |
|
| 6786 |
*) mod_include: Move the request_rec within mod_include to be |
| 6787 |
exposed within include_ctx_t. [Graham Leggett] |
| 6788 |
|
| 6789 |
*) mod_include: Reinstate support for UTF-8 character sets by allowing a |
| 6790 |
variable being echoed or set to be decoded and then encoded as separate |
| 6791 |
steps. PR47686 [Graham Leggett] |
| 6792 |
|
| 6793 |
*) mod_cache: Add a discrete commit_entity() provider function within the |
| 6794 |
mod_cache provider interface which is called to indicate to the |
| 6795 |
provider that caching is complete, giving the provider the opportunity |
| 6796 |
to commit temporary files permanently to the cache in an atomic |
| 6797 |
fashion. Replace the inconsistent use of error cleanups with a formal |
| 6798 |
set of pool cleanups attached to a subpool, which is destroyed on error. |
| 6799 |
[Graham Leggett] |
| 6800 |
|
| 6801 |
*) mod_cache: Change the signature of the store_body() provider function |
| 6802 |
within the mod_cache provider interface to support an "in" brigade |
| 6803 |
and an "out" brigade instead of just a single input brigade. This |
| 6804 |
gives a cache provider the option to consume only part of the brigade |
| 6805 |
passed to it, rather than the whole brigade as was required before. |
| 6806 |
This fixes an out of memory and a request timeout condition that would |
| 6807 |
occur when the original document was a large file. Introduce |
| 6808 |
CacheReadSize and CacheReadTime directives to mod_disk_cache to control |
| 6809 |
the amount of data to attempt to cache at a time. [Graham Leggett] |
| 6810 |
|
| 6811 |
*) core: Add ErrorLogFormat to allow configuring error log format, including |
| 6812 |
additional information that is logged once per connection or request. Add |
| 6813 |
error log IDs for connections and request to allow correlating error log |
| 6814 |
lines and the corresponding access log entry. [Stefan Fritsch] |
| 6815 |
|
| 6816 |
*) core: Disable sendfile by default. [Stefan Fritsch] |
| 6817 |
|
| 6818 |
*) mod_cache: Check the request to determine whether we are allowed |
| 6819 |
to return cached content at all, and respect a "Cache-Control: |
| 6820 |
no-cache" header from a client. Previously, "no-cache" would |
| 6821 |
behave like "max-age=0". [Graham Leggett] |
| 6822 |
|
| 6823 |
*) mod_cache: Use a proper filter context to hold filter data instead |
| 6824 |
of misusing the per-request configuration. Fixes a segfault on trunk |
| 6825 |
when the normal handler is used. [Graham Leggett] |
| 6826 |
|
| 6827 |
*) mod_cgid: Log a warning if the ScriptSock path is truncated because |
| 6828 |
it is too long. PR 49388. [Stefan Fritsch] |
| 6829 |
|
| 6830 |
*) vhosts: Do not allow _default_ in NameVirtualHost, or mixing * |
| 6831 |
and non-* ports on NameVirtualHost, or multiple NameVirtualHost |
| 6832 |
directives for the same address:port, or NameVirtualHost |
| 6833 |
directives with no matching VirtualHosts, or multiple ip-based |
| 6834 |
VirtualHost sections for the same address:port. These were |
| 6835 |
previously accepted with a warning, but the behavior was |
| 6836 |
undefined. [Dan Poirier] |
| 6837 |
|
| 6838 |
*) mod_remoteip: Fix a segfault when using mod_remoteip in conjunction with |
| 6839 |
Allow/Deny. PR 49838. [Andrew Skalski <voltara gmail.com>] |
| 6840 |
|
| 6841 |
*) core: DirectoryMatch can now match on the end of line character ($), |
| 6842 |
and sub-directories of matched directories are no longer implicitly |
| 6843 |
matched. PR49809 [Eric Covener] |
| 6844 |
|
| 6845 |
*) Regexps: introduce new higher-level regexp utility including parsing |
| 6846 |
and executing perl-style regexp ops (e.g s/foo/bar/i) and regexp memory |
| 6847 |
[Nick Kew] |
| 6848 |
|
| 6849 |
*) Proxy: support setting source address. PR 29404 |
| 6850 |
[Multiple contributors iterating through bugzilla, |
| 6851 |
Aron Ujvari <xanco nikhok.hu>, Aleksey Midenkov <asm uezku.kemsu.ru>, |
| 6852 |
<dan listening-station.net; trunk version Nick Kew] |
| 6853 |
|
| 6854 |
*) HTTP protocol: return 400 not 503 if we have to abort due to malformed |
| 6855 |
chunked encoding. [Nick Kew] |
| 6856 |
|
| 6857 |
Changes with Apache 2.3.8 |
| 6858 |
|
| 6859 |
*) suexec: Support large log files. PR 45856. [Stefan Fritsch] |
| 6860 |
|
| 6861 |
*) core: Abort with sensible error message if no or more than one MPM is |
| 6862 |
loaded. [Stefan Fritsch] |
| 6863 |
|
| 6864 |
*) mod_proxy: Rename erroronstatus to failonstatus. |
| 6865 |
[Daniel Ruggeri <DRuggeri primary.net>] |
| 6866 |
|
| 6867 |
*) mod_dav_fs: Fix broken "creationdate" property. |
| 6868 |
Regression in version 2.3.7. [Rainer Jung] |
| 6869 |
|
| 6870 |
Changes with Apache 2.3.7 |
| 6871 |
|
| 6872 |
*) SECURITY: CVE-2010-1452 (cve.mitre.org) |
| 6873 |
mod_dav, mod_cache, mod_session: Fix Handling of requests without a path |
| 6874 |
segment. PR 49246 [Mark Drayton, Jeff Trawick] |
| 6875 |
|
| 6876 |
*) mod_ldap: Properly check the result returned by apr_ldap_init. PR 46076. |
| 6877 |
[Stefan Fritsch] |
| 6878 |
|
| 6879 |
*) mod_rewrite: Log errors if rewrite map files cannot be opened. PR 49639. |
| 6880 |
[Stefan Fritsch] |
| 6881 |
|
| 6882 |
*) mod_proxy_http: Support the 'ping' property for backend HTTP/1.1 servers |
| 6883 |
via leveraging 100-Continue as the initial "request". |
| 6884 |
[Jim Jagielski] |
| 6885 |
|
| 6886 |
*) core/mod_authz_core: Introduce new access_checker_ex hook that enables |
| 6887 |
mod_authz_core to bypass authentication if access should be allowed by |
| 6888 |
IP address/env var/... [Stefan Fritsch] |
| 6889 |
|
| 6890 |
*) core: Introduce note_auth_failure hook to allow modules to add support |
| 6891 |
for additional auth types. This makes ap_note_auth_failure() work with |
| 6892 |
mod_auth_digest again. PR 48807. [Stefan Fritsch] |
| 6893 |
|
| 6894 |
*) socache modules: return APR_NOTFOUND when a lookup is not found [Nick Kew] |
| 6895 |
|
| 6896 |
*) mod_authn_socache: new module [Nick Kew] |
| 6897 |
|
| 6898 |
*) configure: Add reallyall option for --enable-mods-shared. [Stefan Fritsch] |
| 6899 |
|
| 6900 |
*) Fix Windows build when using VC6. [Gregg L. Smith <lists glewis com>] |
| 6901 |
|
| 6902 |
*) mod_rewrite: Allow to set environment variables without explicitly |
| 6903 |
giving a value. [Rainer Jung] |
| 6904 |
|
| 6905 |
*) mod_rewrite: Remove superfluous EOL from rewrite logging. [Rainer Jung] |
| 6906 |
|
| 6907 |
*) mod_include: recognise "text/html; parameters" as text/html |
| 6908 |
PR 49616 [Andrey Chernov <ache nagual.pp.ru>] |
| 6909 |
|
| 6910 |
*) CGI vars: allow PATH to be set by SetEnv, consistent with LD_LIBRARY_PATH |
| 6911 |
PR 43906 [Nick Kew] |
| 6912 |
|
| 6913 |
*) Core: Extra robustness: don't try authz and segfault if authn |
| 6914 |
fails to set r->user. Log bug and return 500 instead. |
| 6915 |
PR 42995 [Nick Kew] |
| 6916 |
|
| 6917 |
*) HTTP protocol filter: fix handling of longer chunk extensions |
| 6918 |
PR 49474 [<tee.bee gmx.de>] |
| 6919 |
|
| 6920 |
*) Update SSL cipher suite and add example for SSLHonorCipherOrder. |
| 6921 |
[Lars Eilebrecht, Rainer Jung] |
| 6922 |
|
| 6923 |
*) move AddOutputFilterByType from core to mod_filter. This should |
| 6924 |
fix nasty side-effects that happen when content_type is set |
| 6925 |
more than once in processing a request, and make it fully |
| 6926 |
compatible with dynamic and proxied contents. [Nick Kew] |
| 6927 |
|
| 6928 |
*) mod_log_config: Implement logging for sub second timestamps and |
| 6929 |
request end time. [Rainer Jung] |
| 6930 |
|
| 6931 |
Changes with Apache 2.3.6 |
| 6932 |
|
| 6933 |
*) SECURITY: CVE-2009-3555 (cve.mitre.org) |
| 6934 |
mod_ssl: Comprehensive fix of the TLS renegotiation prefix injection |
| 6935 |
attack when compiled against OpenSSL version 0.9.8m or later. Introduces |
| 6936 |
the 'SSLInsecureRenegotiation' directive to reopen this vulnerability |
| 6937 |
and offer unsafe legacy renegotiation with clients which do not yet |
| 6938 |
support the new secure renegotiation protocol, RFC 5746. |
| 6939 |
[Joe Orton, and with thanks to the OpenSSL Team] |
| 6940 |
|
| 6941 |
*) SECURITY: CVE-2009-3555 (cve.mitre.org) |
| 6942 |
mod_ssl: A partial fix for the TLS renegotiation prefix injection attack |
| 6943 |
by rejecting any client-initiated renegotiations. Forcibly disable |
| 6944 |
keepalive for the connection if there is any buffered data readable. Any |
| 6945 |
configuration which requires renegotiation for per-directory/location |
| 6946 |
access control is still vulnerable, unless using OpenSSL >= 0.9.8l. |
| 6947 |
[Joe Orton, Ruediger Pluem, Hartmut Keil <Hartmut.Keil adnovum.ch>] |
| 6948 |
|
| 6949 |
*) SECURITY: CVE-2010-0408 (cve.mitre.org) |
| 6950 |
mod_proxy_ajp: Respond with HTTP_BAD_REQUEST when the body is not sent |
| 6951 |
when request headers indicate a request body is incoming; not a case of |
| 6952 |
HTTP_INTERNAL_SERVER_ERROR. [Niku Toivola <niku.toivola sulake.com>] |
| 6953 |
|
| 6954 |
*) SECURITY: CVE-2010-0425 (cve.mitre.org) |
| 6955 |
mod_isapi: Do not unload an isapi .dll module until the request |
| 6956 |
processing is completed, avoiding orphaned callback pointers. |
| 6957 |
[Brett Gervasoni <brettg senseofsecurity.com>, Jeff Trawick] |
| 6958 |
|
| 6959 |
*) core: Filter init functions are now run strictly once per request |
| 6960 |
before handler invocation. The init functions are no longer run |
| 6961 |
for connection filters. PR 49328. [Joe Orton] |
| 6962 |
|
| 6963 |
*) core: Adjust the output filter chain correctly in an internal |
| 6964 |
redirect from a subrequest, preserving filters from the main |
| 6965 |
request as necessary. PR 17629. [Joe Orton] |
| 6966 |
|
| 6967 |
*) mod_cache: Explicitly allow cache implementations to cache a 206 Partial |
| 6968 |
Response if they so choose to do so. Previously an attempt to cache a 206 |
| 6969 |
was arbitrarily allowed if the response contained an Expires or |
| 6970 |
Cache-Control header, and arbitrarily denied if both headers were missing. |
| 6971 |
[Graham Leggett] |
| 6972 |
|
| 6973 |
*) core: Add microsecond timestamp fractions, process id and thread id |
| 6974 |
to the error log. [Rainer Jung] |
| 6975 |
|
| 6976 |
*) configure: The "most" module set gets build by default. [Rainer Jung] |
| 6977 |
|
| 6978 |
*) configure: Building dynamic modules (DSO) by default. [Rainer Jung] |
| 6979 |
|
| 6980 |
*) configure: Fix broken VPATH build when using included APR. |
| 6981 |
[Rainer Jung] |
| 6982 |
|
| 6983 |
*) mod_session_crypto: Fix configure problem when building |
| 6984 |
with APR 2 and for VPATH builds with included APR. |
| 6985 |
[Rainer Jung] |
| 6986 |
|
| 6987 |
*) mod_session_crypto: API compatibility with APR 2 crypto and |
| 6988 |
APR Util 1.x crypto. [Rainer Jung] |
| 6989 |
|
| 6990 |
*) ab: Fix memory leak with -v2 and SSL. PR 49383. |
| 6991 |
[Pavel Kankovsky <peak argo troja mff cuni cz>] |
| 6992 |
|
| 6993 |
*) core: Add per-module and per-directory loglevel configuration. |
| 6994 |
Add some more trace logging. |
| 6995 |
mod_rewrite: Replace RewriteLog/RewriteLogLevel with trace log levels. |
| 6996 |
mod_ssl: Replace LogLevelDebugDump with trace log levels. |
| 6997 |
mod_ssl/mod_proxy*: Adjust loglevels to be less verbose at levels info |
| 6998 |
and debug. |
| 6999 |
mod_dumpio: Replace DumpIOLogLevel with trace log levels. |
| 7000 |
[Stefan Fritsch] |
| 7001 |
|
| 7002 |
*) mod_ldap: LDAP caching was suppressed (and ldap-status handler returns |
| 7003 |
title page only) when any mod_ldap directives were used in VirtualHost |
| 7004 |
context. [Eric Covener] |
| 7005 |
|
| 7006 |
*) mod_disk_cache: Decline the opportunity to cache if the response is |
| 7007 |
a 206 Partial Content. This stops a reverse proxied partial response |
| 7008 |
from becoming cached, and then being served in subsequent responses. |
| 7009 |
[Graham Leggett] |
| 7010 |
|
| 7011 |
*) mod_deflate: avoid the risk of forwarding data before headers are set. |
| 7012 |
PR 49369 [Matthew Steele <mdsteele google.com>] |
| 7013 |
|
| 7014 |
*) mod_authnz_ldap: Ensure nested groups are checked when the |
| 7015 |
top-level group doesn't have any direct non-group members |
| 7016 |
of attributes in AuthLDAPGroupAttribute. [Eric Covener] |
| 7017 |
|
| 7018 |
*) mod_authnz_ldap: Search or Comparison during authorization phase |
| 7019 |
can use the credentials from the authentication phase |
| 7020 |
(AuthLDAPSearchAsUSer,AuthLDAPCompareAsUser). |
| 7021 |
PR 48340 [Domenico Rotiroti, Eric Covener] |
| 7022 |
|
| 7023 |
*) mod_authnz_ldap: Allow the initial DN search during authentication |
| 7024 |
to use the HTTP username/pass instead of an anonymous or hard-coded |
| 7025 |
LDAP id (AuthLDAPInitialBindAsUser, AuthLDAPInitialBindPattern). |
| 7026 |
[Eric Covener] |
| 7027 |
|
| 7028 |
*) mod_authnz_ldap: Publish requested LDAP data with an AUTHORIZE_ prefix |
| 7029 |
when this module is used for authorization. See AuthLDAPAuthorizePrefix. |
| 7030 |
PR 45584 [Eric Covener] |
| 7031 |
|
| 7032 |
*) apxs -q: Stop filtering out ':' characters from the reported values. |
| 7033 |
PR 45343. [Bill Cole] |
| 7034 |
|
| 7035 |
*) prefork MPM: Work around possible crashes on child exit in APR reslist |
| 7036 |
cleanup code. PR 43857. [Tom Donovan] |
| 7037 |
|
| 7038 |
*) ab: fix number of requests sent by ab when keepalive is enabled. PR 48497. |
| 7039 |
[Bryn Dole <dole blekko.com>] |
| 7040 |
|
| 7041 |
*) Log an error for failures to read a chunk-size, and return 408 instead of |
| 7042 |
413 when this is due to a read timeout. This change also fixes some cases |
| 7043 |
of two error documents being sent in the response for the same scenario. |
| 7044 |
[Eric Covener] PR49167 |
| 7045 |
|
| 7046 |
*) mod_proxy_balancer: Add new directive BalancerNonce to allow admin |
| 7047 |
to control/set the nonce used in the balancer-manager application. |
| 7048 |
[Jim Jagielski] |
| 7049 |
|
| 7050 |
*) mod_proxy_connect: Support port ranges in AllowConnect. PR 23673. |
| 7051 |
[Stefan Fritsch] |
| 7052 |
|
| 7053 |
*) Proxy balancer: support setting error status according to HTTP response |
| 7054 |
code from a backend. PR 48939. [Daniel Ruggeri <DRuggeri primary.net>] |
| 7055 |
|
| 7056 |
*) htcacheclean: Introduce the ability to clean specific URLs from the |
| 7057 |
cache, if provided as an optional parameter on the command line. |
| 7058 |
[Graham Leggett] |
| 7059 |
|
| 7060 |
*) core: Introduce the IncludeStrict directive, which explicitly fails |
| 7061 |
server startup if no files or directories match a wildcard path. |
| 7062 |
[Graham Leggett] |
| 7063 |
|
| 7064 |
*) htcacheclean: Report additional statistics about entries deleted. |
| 7065 |
PR 48944. [Mark Drayton mark markdrayton.info] |
| 7066 |
|
| 7067 |
*) Introduce SSLFIPS directive to support OpenSSL FIPS_mode; permits all |
| 7068 |
builds of mod_ssl to use 'SSLFIPS off' for portability, but the proper |
| 7069 |
build of openssl is required for 'SSLFIPS on'. PR 46270. |
| 7070 |
[Dr Stephen Henson <steve openssl.org>, William Rowe] |
| 7071 |
|
| 7072 |
*) mod_proxy_http: Log the port of the remote server in various messages. |
| 7073 |
PR 48812. [Igor Galić <i galic brainsware org>] |
| 7074 |
|
| 7075 |
*) mod_reqtimeout: Do not wrongly enforce timeouts for mod_proxy's backend |
| 7076 |
connections and other protocol handlers (like mod_ftp). [Stefan Fritsch] |
| 7077 |
|
| 7078 |
*) mod_proxy_ajp: Really regard the operation a success, when the client |
| 7079 |
aborted the connection. In addition adjust the log message if the client |
| 7080 |
aborted the connection. [Ruediger Pluem] |
| 7081 |
|
| 7082 |
*) mod_ssl: Add the 'SSLInsecureRenegotiation' directive, which |
| 7083 |
allows insecure renegotiation with clients which do not yet |
| 7084 |
support the secure renegotiation protocol. [Joe Orton] |
| 7085 |
|
| 7086 |
*) mod_ssl: Fix a potential I/O hang if a long list of trusted CAs |
| 7087 |
is configured for client cert auth. PR 46952. [Joe Orton] |
| 7088 |
|
| 7089 |
*) core: Only log a 408 if it is no keepalive timeout. PR 39785 |
| 7090 |
[Ruediger Pluem, Mark Montague <markmont umich.edu>] |
| 7091 |
|
| 7092 |
*) support/rotatelogs: Add -L option to create a link to the current |
| 7093 |
log file. PR 48761 [<lyndon orthanc.ca>, Dan Poirier] |
| 7094 |
|
| 7095 |
*) mod_ldap: Update LDAPTrustedClientCert to consistently be a per-directory |
| 7096 |
setting only, matching most of the documentation and examples. |
| 7097 |
PR 46541 [Paul Reder, Eric Covener] |
| 7098 |
|
| 7099 |
*) mod_ldap: LDAPTrustedClientCert now accepts CA_DER/CA_BASE64 argument |
| 7100 |
types previously allowed only in LDAPTrustedGlobalCert. [Eric Covener] |
| 7101 |
|
| 7102 |
*) mod_negotiation: Preserve query string over multiviews negotiation. |
| 7103 |
This buglet was fixed for type maps in 2.2.6, but the same issue |
| 7104 |
affected multiviews and was overlooked. |
| 7105 |
PR 33112 [Joergen Thomsen <apache jth.net>] |
| 7106 |
|
| 7107 |
*) mod_ldap: Eliminate a potential crash with multiple LDAPTrustedClientCert |
| 7108 |
when some are not password-protected. [Eric Covener] |
| 7109 |
|
| 7110 |
*) Fix startup segfault when the Mutex directive is used but no loaded |
| 7111 |
modules use httpd mutexes. PR 48787. [Jeff Trawick] |
| 7112 |
|
| 7113 |
*) Proxy: get the headers right in a HEAD request with |
| 7114 |
ProxyErrorOverride, by checking for an overridden error |
| 7115 |
before not after going into a catch-all code path. |
| 7116 |
PR 41646. [Nick Kew, Stuart Children] |
| 7117 |
|
| 7118 |
*) support/rotatelogs: Support the simplest log rotation case, log |
| 7119 |
truncation. Useful when the log is being processed in real time |
| 7120 |
using a command like tail. [Graham Leggett] |
| 7121 |
|
| 7122 |
*) support/htcacheclean: Teach it how to write a pid file (modelled on |
| 7123 |
httpd's writing of a pid file) so that it becomes possible to run |
| 7124 |
more than one instance of htcacheclean on the same machine. |
| 7125 |
[Graham Leggett] |
| 7126 |
|
| 7127 |
*) Log command line on startup, so there's a record of command line |
| 7128 |
arguments like -f. PR 48752. [Dan Poirier] |
| 7129 |
|
| 7130 |
*) Introduce mod_reflector, a handler capable of reflecting POSTed |
| 7131 |
request bodies back within the response through the output filter |
| 7132 |
stack. Can be used to turn an output filter into a web service. |
| 7133 |
[Graham Leggett] |
| 7134 |
|
| 7135 |
*) mod_proxy_http: Make sure that when an ErrorDocument is served |
| 7136 |
from a reverse proxied URL, that the subrequest respects the status |
| 7137 |
of the original request. This brings the behaviour of proxy_handler |
| 7138 |
in line with default_handler. PR 47106. [Graham Leggett] |
| 7139 |
|
| 7140 |
*) Support wildcards in both the directory and file components of |
| 7141 |
the path specified by the Include directive. [Graham Leggett] |
| 7142 |
|
| 7143 |
*) mod_proxy, mod_proxy_http: Support remote https proxies |
| 7144 |
by using HTTP CONNECT. PR 19188. |
| 7145 |
[Philippe Dutrueux <lilas evidian.com>, Rainer Jung] |
| 7146 |
|
| 7147 |
*) apxs: Fix -A and -a options to ignore whitespace in httpd.conf |
| 7148 |
[Philip M. Gollucci] |
| 7149 |
|
| 7150 |
*) worker: Don't report server has reached MaxClients until it has. |
| 7151 |
Add message when server gets within MinSpareThreads of MaxClients. |
| 7152 |
PR 46996. [Dan Poirier] |
| 7153 |
|
| 7154 |
*) mod_session: Session expiry was being initialised, but not updated |
| 7155 |
on each session save, resulting in timed out sessions when there |
| 7156 |
should not have been. Fixed. [Graham Leggett] |
| 7157 |
|
| 7158 |
*) mod_log_config: Add the R option to log the handler used within the |
| 7159 |
request. [Christian Folini <christian.folini netnea com>] |
| 7160 |
|
| 7161 |
*) mod_include: Allow fine control over the removal of Last-Modified and |
| 7162 |
ETag headers within the INCLUDES filter, making it possible to cache |
| 7163 |
responses if desired. Fix the default value of the SSIAccessEnable |
| 7164 |
directive. [Graham Leggett] |
| 7165 |
|
| 7166 |
*) Add new UnDefine directive to undefine a variable. PR 35350. |
| 7167 |
[Stefan Fritsch] |
| 7168 |
|
| 7169 |
*) Make ap_pregsub(), used by AliasMatch and friends, use the same syntax |
| 7170 |
for regex backreferences as mod_rewrite and mod_include: Remove the use |
| 7171 |
of '&' as an alias for '$0' and allow to escape any character with a |
| 7172 |
backslash. PR 48351. [Stefan Fritsch] |
| 7173 |
|
| 7174 |
*) mod_authnz_ldap: If AuthLDAPCharsetConfig is set, also convert the |
| 7175 |
password to UTF-8. PR 45318. |
| 7176 |
[Johannes Müller <joh_m gmx.de>, Stefan Fritsch] |
| 7177 |
|
| 7178 |
*) ab: Fix calculation of requests per second in HTML output. PR 48594. |
| 7179 |
[Stefan Fritsch] |
| 7180 |
|
| 7181 |
*) mod_authnz_ldap: Failures to map a username to a DN, or to check a user |
| 7182 |
password now result in an informational level log entry instead of |
| 7183 |
warning level. [Eric Covener] |
| 7184 |
|
| 7185 |
Changes with Apache 2.3.5 |
| 7186 |
|
| 7187 |
*) SECURITY: CVE-2010-0434 (cve.mitre.org) |
| 7188 |
Ensure each subrequest has a shallow copy of headers_in so that the |
| 7189 |
parent request headers are not corrupted. Eliminates a problematic |
| 7190 |
optimization in the case of no request body. PR 48359 |
| 7191 |
[Jake Scott, William Rowe, Ruediger Pluem] |
| 7192 |
|
| 7193 |
*) Turn static function get_server_name_for_url() into public |
| 7194 |
ap_get_server_name_for_url() and use it where appropriate. This |
| 7195 |
fixes mod_rewrite generating invalid URLs for redirects to IPv6 |
| 7196 |
literal addresses. [Stefan Fritsch] |
| 7197 |
|
| 7198 |
*) mod_ldap: Introduce new config option LDAPTimeout to set the timeout |
| 7199 |
for LDAP operations like bind and search. [Stefan Fritsch] |
| 7200 |
|
| 7201 |
*) mod_proxy, mod_proxy_ftp: Move ProxyFtpDirCharset from mod_proxy to |
| 7202 |
mod_proxy_ftp. [Takashi Sato] |
| 7203 |
|
| 7204 |
*) mod_proxy, mod_proxy_connect: Move AllowCONNECT from mod_proxy to |
| 7205 |
mod_proxy_connect. [Takashi Sato] |
| 7206 |
|
| 7207 |
*) mod_cache: Do an exact match of the keys defined by |
| 7208 |
CacheIgnoreURLSessionIdentifiers against the querystring instead of |
| 7209 |
a partial match. PR 48401. |
| 7210 |
[Dodou Wang <wangdong.08 gmail.com>, Ruediger Pluem] |
| 7211 |
|
| 7212 |
*) mod_proxy_balancer: Fix crash in balancer-manager. [Rainer Jung] |
| 7213 |
|
| 7214 |
*) Core HTTP: disable keepalive when the Client has sent |
| 7215 |
Expect: 100-continue |
| 7216 |
but we respond directly with a non-100 response. |
| 7217 |
Keepalive here led to data from clients continuing being treated as |
| 7218 |
a new request. |
| 7219 |
PR 47087 [Nick Kew] |
| 7220 |
|
| 7221 |
*) Core: reject NULLs in request line or request headers. |
| 7222 |
PR 43039 [Nick Kew] |
| 7223 |
|
| 7224 |
*) Core: (re)-introduce -T commandline option to suppress documentroot |
| 7225 |
check at startup. |
| 7226 |
PR 41887 [Jan van den Berg <janvdberg gmail.com>] |
| 7227 |
|
| 7228 |
*) mod_autoindex: support XHTML as equivalent to HTML in IndexOptions, |
| 7229 |
ScanHTMLTitles, ReadmeName, HeaderName |
| 7230 |
PR 48416 [Dmitry Bakshaev <dab18 izhnet.ru>, Nick Kew] |
| 7231 |
|
| 7232 |
*) Proxy: Fix ProxyPassReverse with relative URL |
| 7233 |
Derived (slightly erroneously) from PR 38864 [Nick Kew] |
| 7234 |
|
| 7235 |
*) mod_headers: align Header Edit with Header Set when used on Content-Type |
| 7236 |
PR 48422 [Cyril Bonté <cyril.bonte free.fr>, Nick Kew>] |
| 7237 |
|
| 7238 |
*) mod_headers: Enable multi-match-and-replace edit option |
| 7239 |
PR 46594 [Nick Kew] |
| 7240 |
|
| 7241 |
*) mod_filter: enable it to act on non-200 responses. |
| 7242 |
PR 48377 [Nick Kew] |
| 7243 |
|
| 7244 |
Changes with Apache 2.3.4 |
| 7245 |
|
| 7246 |
*) Replace AcceptMutex, LockFile, RewriteLock, SSLMutex, SSLStaplingMutex, |
| 7247 |
and WatchdogMutexPath with a single Mutex directive. Add APIs to |
| 7248 |
simplify setup and user customization of APR proc and global mutexes. |
| 7249 |
(See util_mutex.h.) Build-time setting DEFAULT_LOCKFILE is no longer |
| 7250 |
respected; set DEFAULT_REL_RUNTIMEDIR instead. [Jeff Trawick] |
| 7251 |
|
| 7252 |
*) http_core: KeepAlive no longer accepts other than On|Off. |
| 7253 |
[Takashi Sato] |
| 7254 |
|
| 7255 |
*) mod_dav: Remove errno from dav_error interface. Calls to dav_new_error() |
| 7256 |
and dav_new_error_tag() must be adjusted to add an apr_status_t parameter. |
| 7257 |
[Jeff Trawick] |
| 7258 |
|
| 7259 |
*) mod_authnz_ldap: Add AuthLDAPBindAuthoritative to allow Authentication to |
| 7260 |
try other providers in the case of an LDAP bind failure. |
| 7261 |
PR 46608 [Justin Erenkrantz, Joe Schaefer, Tony Stevenson] |
| 7262 |
|
| 7263 |
*) Build: fix --with-module to work as documented |
| 7264 |
PR 43881 [Gez Saunders <gez.saunders virgin.net>] |
| 7265 |
|
| 7266 |
Changes with Apache 2.3.3 |
| 7267 |
|
| 7268 |
*) SECURITY: CVE-2009-3095 (cve.mitre.org) |
| 7269 |
mod_proxy_ftp: sanity check authn credentials. |
| 7270 |
[Stefan Fritsch <sf fritsch.de>, Joe Orton] |
| 7271 |
|
| 7272 |
*) SECURITY: CVE-2009-3094 (cve.mitre.org) |
| 7273 |
mod_proxy_ftp: NULL pointer dereference on error paths. |
| 7274 |
[Stefan Fritsch <sf fritsch.de>, Joe Orton] |
| 7275 |
|
| 7276 |
*) mod_ssl: enable support for ECC keys and ECDH ciphers. Tested against |
| 7277 |
OpenSSL 1.0.0b3. [Vipul Gupta <vipul.gupta sun.com>, Sander Temme] |
| 7278 |
|
| 7279 |
*) mod_dav: Include uri when logging a PUT error due to connection abort. |
| 7280 |
PR 38149. [Stefan Fritsch] |
| 7281 |
|
| 7282 |
*) mod_dav: Return 409 instead of 500 for a LOCK request if the parent |
| 7283 |
resource does not exist or is not a collection. PR 43465. [Stefan Fritsch] |
| 7284 |
|
| 7285 |
*) mod_dav_fs: Return 409 instead of 500 for Litmus test case copy_nodestcoll |
| 7286 |
(a COPY request where the parent of the destination resource does not |
| 7287 |
exist). PR 39299. [Stefan Fritsch] |
| 7288 |
|
| 7289 |
*) mod_dav_fs: Don't delete the whole file if a PUT with content-range failed. |
| 7290 |
PR 42896. [Stefan Fritsch] |
| 7291 |
|
| 7292 |
*) mod_dav_fs: Make PUT create files atomically and no longer destroy the |
| 7293 |
old file if the transfer aborted. PR 39815. [Paul Querna, Stefan Fritsch] |
| 7294 |
|
| 7295 |
*) mod_dav_fs: Remove inode keyed locking as this conflicts with atomically |
| 7296 |
creating files. On systems with inode numbers, this is a format change of |
| 7297 |
the DavLockDB. The old DavLockDB must be deleted on upgrade. |
| 7298 |
[Stefan Fritsch] |
| 7299 |
|
| 7300 |
*) mod_log_config: Make ${cookie}C correctly match whole cookie names |
| 7301 |
instead of substrings. PR 28037. [Dan Franklin <dan dan-franklin.com>, |
| 7302 |
Stefan Fritsch] |
| 7303 |
|
| 7304 |
*) vhost: A purely-numeric Host: header should not be treated as a port. |
| 7305 |
PR 44979 [Nick Kew] |
| 7306 |
|
| 7307 |
*) mod_ldap: Avoid 500 errors with "Unable to set LDAP_OPT_REFHOPLIMIT option to 5" |
| 7308 |
when built against openldap by using SDK LDAP_OPT_REFHOPLIMIT defaults unless |
| 7309 |
LDAPReferralHopLimit is explicitly configured. |
| 7310 |
[Eric Covener] |
| 7311 |
|
| 7312 |
*) mod_charset_lite: Honor 'CharsetOptions NoImplicitAdd'. |
| 7313 |
[Eric Covener] |
| 7314 |
|
| 7315 |
*) mod_ssl: Add support for OCSP Stapling. PR 43822. |
| 7316 |
[Dr Stephen Henson <shenson oss-institute.org>] |
| 7317 |
|
| 7318 |
*) mod_socache_shmcb: Allow parens in file name if cache size is given. |
| 7319 |
Fixes SSLSessionCache directive mis-parsing parens in pathname. |
| 7320 |
PR 47945. [Stefan Fritsch] |
| 7321 |
|
| 7322 |
*) htpasswd: Improve out of disk space handling. PR 30877. [Stefan Fritsch] |
| 7323 |
|
| 7324 |
*) htpasswd: Use MD5 hash by default on all platforms. [Stefan Fritsch] |
| 7325 |
|
| 7326 |
*) mod_sed: Reduce memory consumption when processing very long lines. |
| 7327 |
PR 48024 [Basant Kumar Kukreja <basant.kukreja sun.com>] |
| 7328 |
|
| 7329 |
*) ab: Fix segfault in case the argument for -n is a very large number. |
| 7330 |
PR 47178. [Philipp Hagemeister <oss phihag.de>] |
| 7331 |
|
| 7332 |
*) Allow ProxyPreserveHost to work in <Proxy> sections. PR 34901. |
| 7333 |
[Stefan Fritsch] |
| 7334 |
|
| 7335 |
*) configure: Fix THREADED_MPMS so that mod_cgid is enabled again |
| 7336 |
for worker MPM. [Takashi Sato] |
| 7337 |
|
| 7338 |
*) mod_dav: Provide a mechanism to obtain the request_rec and pathname |
| 7339 |
from the dav_resource. [Jari Urpalainen <jari.urpalainen nokia.com>, |
| 7340 |
Brian France <brian brianfrance.com>] |
| 7341 |
|
| 7342 |
*) Build: Use install instead of cp if available on installing |
| 7343 |
modules to avoid segmentation fault. PR 47951. [hirose31 gmail.com] |
| 7344 |
|
| 7345 |
*) mod_cache: correctly consider s-maxage in cacheability |
| 7346 |
decisions. [Dan Poirier] |
| 7347 |
|
| 7348 |
*) mod_logio/core: Report more accurate byte counts in mod_status if |
| 7349 |
mod_logio is loaded. PR 25656. [Stefan Fritsch] |
| 7350 |
|
| 7351 |
*) mod_ldap: If LDAPSharedCacheSize is too small, try harder to purge |
| 7352 |
some cache entries and log a warning. Also increase the default |
| 7353 |
LDAPSharedCacheSize to 500000. This is a more realistic size suitable |
| 7354 |
for the default values of 1024 for LdapCacheEntries/LdapOpCacheEntries. |
| 7355 |
PR 46749. [Stefan Fritsch] |
| 7356 |
|
| 7357 |
*) mod_rewrite: Make sure that a hostname:port isn't fully qualified if |
| 7358 |
the request is a CONNECT request. [Bill Zajac <billz consultla.com>] |
| 7359 |
|
| 7360 |
*) mod_cache: Teach CacheEnable and CacheDisable to work from within a |
| 7361 |
Location section, in line with how ProxyPass works. [Graham Leggett] |
| 7362 |
|
| 7363 |
*) mod_reqtimeout: New module to set timeouts and minimum data rates for |
| 7364 |
receiving requests from the client. [Stefan Fritsch] |
| 7365 |
|
| 7366 |
*) core: Fix potential memory leaks by making sure to not destroy |
| 7367 |
bucket brigades that have been created by earlier filters. |
| 7368 |
[Stefan Fritsch] |
| 7369 |
|
| 7370 |
*) core, mod_deflate, mod_sed: Reduce memory usage by reusing bucket |
| 7371 |
brigades in several places. [Stefan Fritsch] |
| 7372 |
|
| 7373 |
*) mod_cache: Fix uri_meets_conditions() so that CacheEnable will |
| 7374 |
match by scheme, or by a wildcarded hostname. PR 40169 |
| 7375 |
[Peter Grandi <pg_asf asf.for.sabi.co.uk>, Graham Leggett] |
| 7376 |
|
| 7377 |
*) suxec: Allow to log an error if exec fails by setting FD_CLOEXEC |
| 7378 |
on the log file instead of closing it. PR 10744. [Nicolas Rachinsky] |
| 7379 |
|
| 7380 |
*) mod_mime: Make RemoveType override the info from TypesConfig. |
| 7381 |
PR 38330. [Stefan Fritsch] |
| 7382 |
|
| 7383 |
*) mod_cache: Introduce the option to run the cache from within the |
| 7384 |
normal request handler, and to allow fine grained control over |
| 7385 |
where in the filter chain content is cached. Adds CacheQuickHandler |
| 7386 |
directive. [Graham Leggett] |
| 7387 |
|
| 7388 |
*) core: Treat timeout reading request as 408 error, not 400. |
| 7389 |
Log 408 errors in access log as was done in Apache 1.3.x. |
| 7390 |
PR 39785 [Nobutaka Mantani <nobutaka nobutaka.org>, |
| 7391 |
Stefan Fritsch <sf fritsch.de>, Dan Poirier] |
| 7392 |
|
| 7393 |
*) mod_ssl: Reintroduce SSL_CLIENT_S_DN, SSL_CLIENT_I_DN, SSL_SERVER_S_DN, |
| 7394 |
SSL_SERVER_I_DN back to the environment variables to be set by mod_ssl. |
| 7395 |
[Peter Sylvester <peter.sylvester edelweb.fr>] |
| 7396 |
|
| 7397 |
*) mod_disk_cache: don't cache incomplete responses, per RFC 2616, 13.8. |
| 7398 |
PR15866. [Dan Poirier] |
| 7399 |
|
| 7400 |
*) ab: ab segfaults in verbose mode on https sites |
| 7401 |
PR46393. [Ryan Niebur] |
| 7402 |
|
| 7403 |
*) mod_dav: Allow other modules to become providers and add resource types |
| 7404 |
to the DAV response. [Jari Urpalainen <jari.urpalainen nokia.com>, |
| 7405 |
Brian France <brian brianfrance.com>] |
| 7406 |
|
| 7407 |
*) mod_dav: Allow other modules to add things to the DAV or Allow headers |
| 7408 |
of an OPTIONS request. [Jari Urpalainen <jari.urpalainen nokia.com>, |
| 7409 |
Brian France <brian brianfrance.com>] |
| 7410 |
|
| 7411 |
*) core: Lower memory usage of core output filter. |
| 7412 |
[Stefan Fritsch <sf sfritsch.de>] |
| 7413 |
|
| 7414 |
*) mod_mime: Detect invalid use of MultiviewsMatch inside Location and |
| 7415 |
LocationMatch sections. PR47754. [Dan Poirier] |
| 7416 |
|
| 7417 |
*) mod_request: Make sure the KeptBodySize directive rejects values |
| 7418 |
that aren't valid numbers. [Graham Leggett] |
| 7419 |
|
| 7420 |
*) mod_session_crypto: Sanity check should the potentially encrypted |
| 7421 |
session cookie be too short. [Graham Leggett] |
| 7422 |
|
| 7423 |
*) mod_session.c: Prevent a segfault when session is added but not |
| 7424 |
configured. [Graham Leggett] |
| 7425 |
|
| 7426 |
*) htcacheclean: 19 ways to fail, 1 error message. Fixed. [Graham Leggett] |
| 7427 |
|
| 7428 |
*) mod_auth_digest: Fail server start when nonce count checking |
| 7429 |
is configured without shared memory, or md5-sess algorithm is |
| 7430 |
configured. [Dan Poirier] |
| 7431 |
|
| 7432 |
*) mod_proxy_connect: The connect method doesn't work if the client is |
| 7433 |
connecting to the apache proxy through an ssl socket. Fixed. |
| 7434 |
PR29744. [Brad Boyer, Mark Cave-Ayland, Julian Gilbey, Fabrice Durand, |
| 7435 |
David Gence, Tim Dodge, Per Gunnar Hans, Emmanuel Elango, |
| 7436 |
Kevin Croft, Rudolf Cardinal] |
| 7437 |
|
| 7438 |
*) mod_ssl: The error message when SSLCertificateFile is missing should |
| 7439 |
at least give the name or position of the problematic virtual host |
| 7440 |
definition. [Stefan Fritsch sf sfritsch.de] |
| 7441 |
|
| 7442 |
*) mod_auth_digest: Fix null pointer when qop=none. [Dan Poirier] |
| 7443 |
|
| 7444 |
*) Add support for HTTP PUT to ab. [Jeff Barnes <jbarnesweb yahoo.com>] |
| 7445 |
|
| 7446 |
*) mod_headers: generalise the envclause to support expression |
| 7447 |
evaluation with ap_expr parser [Nick Kew] |
| 7448 |
|
| 7449 |
*) mod_cache: Introduce the thundering herd lock, a mechanism to keep |
| 7450 |
the flood of requests at bay that strike a backend webserver as |
| 7451 |
a cached entity goes stale. [Graham Leggett] |
| 7452 |
|
| 7453 |
*) mod_auth_digest: Fix usage of shared memory and re-enable it. |
| 7454 |
PR 16057 [Dan Poirier] |
| 7455 |
|
| 7456 |
*) Preserve Port information over internal redirects |
| 7457 |
PR 35999 [Jonas Ringh <jonas.ringh cixit.se>] |
| 7458 |
|
| 7459 |
*) Proxy: unable to connect to a backend is SERVICE_UNAVAILABLE, |
| 7460 |
rather than BAD_GATEWAY or (especially) NOT_FOUND. |
| 7461 |
PR 46971 [evanc nortel.com] |
| 7462 |
|
| 7463 |
*) Various modules: Do better checking of pollset operations in order to |
| 7464 |
avoid segmentation faults if they fail. PR 46467 |
| 7465 |
[Stefan Fritsch <sf sfritsch.de>] |
| 7466 |
|
| 7467 |
*) mod_autoindex: Correctly create an empty cell if the description |
| 7468 |
for a file is missing. PR 47682 [Peter Poeml <poeml suse.de>] |
| 7469 |
|
| 7470 |
*) ab: Fix broken error messages after resolver or connect() failures. |
| 7471 |
[Jeff Trawick] |
| 7472 |
|
| 7473 |
*) SECURITY: CVE-2009-1890 (cve.mitre.org) |
| 7474 |
Fix a potential Denial-of-Service attack against mod_proxy in a |
| 7475 |
reverse proxy configuration, where a remote attacker can force a |
| 7476 |
proxy process to consume CPU time indefinitely. [Nick Kew, Joe Orton] |
| 7477 |
|
| 7478 |
*) SECURITY: CVE-2009-1191 (cve.mitre.org) |
| 7479 |
mod_proxy_ajp: Avoid delivering content from a previous request which |
| 7480 |
failed to send a request body. PR 46949 [Ruediger Pluem] |
| 7481 |
|
| 7482 |
*) htdbm: Fix possible buffer overflow if dbm database has very |
| 7483 |
long values. PR 30586 [Dan Poirier] |
| 7484 |
|
| 7485 |
*) core: Return APR_EOF if request body is shorter than the length announced |
| 7486 |
by the client. PR 33098 [ Stefan Fritsch <sf sfritsch.de>] |
| 7487 |
|
| 7488 |
*) mod_suexec: correctly set suexec_enabled when httpd is run by a |
| 7489 |
non-root user and may have insufficient permissions. |
| 7490 |
PR 42175 [Jim Radford <radford blackbean.org>] |
| 7491 |
|
| 7492 |
*) mod_ssl: Fix SSL_*_DN_UID variables to use the 'userID' attribute |
| 7493 |
type. PR 45107. [Michael Ströder <michael stroeder.com>, |
| 7494 |
Peter Sylvester <peter.sylvester edelweb.fr>] |
| 7495 |
|
| 7496 |
*) mod_proxy_http: fix case sensitivity checking transfer encoding |
| 7497 |
PR 47383 [Ryuzo Yamamoto <ryuzo.yamamoto gmail.com>] |
| 7498 |
|
| 7499 |
*) mod_alias: ensure Redirect issues a valid URL. |
| 7500 |
PR 44020 [HÃ¥kon Stordahl <hakon stordahl.org>] |
| 7501 |
|
| 7502 |
*) mod_dir: add FallbackResource directive, to enable admin to specify |
| 7503 |
an action to happen when a URL maps to no file, without resorting |
| 7504 |
to ErrorDocument or mod_rewrite. PR 47184 [Nick Kew] |
| 7505 |
|
| 7506 |
*) mod_cgid: Do not leak the listening Unix socket file descriptor to the |
| 7507 |
CGI process. PR 47335 [Kornél Pál <kornelpal gmail.com>] |
| 7508 |
|
| 7509 |
*) mod_rewrite: Remove locking for writing to the rewritelog. |
| 7510 |
PR 46942 [Dan Poirier <poirier pobox.com>] |
| 7511 |
|
| 7512 |
*) mod_alias: check sanity in Redirect arguments. |
| 7513 |
PR 44729 [Sönke Tesch <st kino-fahrplan.de>, Jim Jagielski] |
| 7514 |
|
| 7515 |
*) mod_proxy_http: fix Host: header for literal IPv6 addresses. |
| 7516 |
PR 47177 [Carlos Garcia Braschi <cgbraschi gmail.com>] |
| 7517 |
|
| 7518 |
*) mod_cache: Add CacheIgnoreURLSessionIdentifiers directive to ignore |
| 7519 |
defined session identifiers encoded in the URL when caching. |
| 7520 |
[Ruediger Pluem] |
| 7521 |
|
| 7522 |
*) mod_rewrite: Fix the error string returned by RewriteRule. |
| 7523 |
RewriteRule returned "RewriteCond: bad flag delimiters" when the 3rd |
| 7524 |
argument of RewriteRule was not started with "[" or not ended with "]". |
| 7525 |
PR 45082 [Vitaly Polonetsky <m_vitaly topixoft.com>] |
| 7526 |
|
| 7527 |
*) Windows: Fix usage message. |
| 7528 |
[Rainer Jung] |
| 7529 |
|
| 7530 |
*) apachectl: When passing through arguments to httpd in |
| 7531 |
non-SysV mode, use the "$@" syntax to preserve arguments. |
| 7532 |
[Eric Covener] |
| 7533 |
|
| 7534 |
*) mod_dbd: add DBDInitSQL directive to enable SQL statements to |
| 7535 |
be run when a connection is opened. PR 46827 |
| 7536 |
[Marko Kevac <mkevac gmail.com>] |
| 7537 |
|
| 7538 |
*) mod_cgid: Improve handling of long AF_UNIX socket names (ScriptSock). |
| 7539 |
PR 47037. [Jeff Trawick] |
| 7540 |
|
| 7541 |
*) mod_proxy_ajp: Check more strictly that the backend follows the AJP |
| 7542 |
protocol. [Mladen Turk] |
| 7543 |
|
| 7544 |
*) mod_proxy_ajp: Forward remote port information by default. |
| 7545 |
[Rainer Jung] |
| 7546 |
|
| 7547 |
*) Allow MPMs to be loaded dynamically, as with most other modules. Use |
| 7548 |
--enable-mpms-shared={list|"all"} to enable. This required changes to |
| 7549 |
the MPM interfaces. Removed: mpm.h, mpm_default.h (as an installed |
| 7550 |
header), APACHE_MPM_DIR, MPM_NAME, ap_threads_per_child, |
| 7551 |
ap_max_daemons_limit, ap_my_generation, etc. ap_mpm_query() can't be |
| 7552 |
called until after the register-hooks phase. [Jeff Trawick] |
| 7553 |
|
| 7554 |
*) mod_ssl: Add SSLProxyCheckPeerExpire and SSLProxyCheckPeerCN directives |
| 7555 |
to enable stricter checking of remote server certificates. |
| 7556 |
[Ruediger Pluem] |
| 7557 |
|
| 7558 |
*) ab: Fix a 100% CPU loop on platforms where a failed non-blocking connect |
| 7559 |
returns EINPROGRESS and a subsequent poll() returns only POLLERR. |
| 7560 |
Observed on HP-UX. [Eric Covener] |
| 7561 |
|
| 7562 |
*) Remove broken support for BeOS, TPF, and even older platforms such |
| 7563 |
as A/UX, Next, and Tandem. [Jeff Trawick] |
| 7564 |
|
| 7565 |
*) mod_proxy_ftp: Add ProxyFtpListOnWildcard directive to allow files with |
| 7566 |
globbing characters to be retrieved instead of converted into a |
| 7567 |
directory listing. PR 46789 [Dan Poirier <poirier pobox.com>] |
| 7568 |
|
| 7569 |
*) Provide ap_retained_data_create()/ap_retained_data_get() for preservation |
| 7570 |
of module state across unload/load. [Jeff Trawick] |
| 7571 |
|
| 7572 |
*) mod_substitute: Fix a memory leak. PR 44948 |
| 7573 |
[Dan Poirier <poirier pobox.com>] |
| 7574 |
|
| 7575 |
Changes with Apache 2.3.2 |
| 7576 |
|
| 7577 |
*) mod_mime_magic: Fix detection of compressed content. [Rainer Jung] |
| 7578 |
|
| 7579 |
*) mod_negotiation: Escape paths of filenames in 406 responses to avoid |
| 7580 |
HTML injections and HTTP response splitting. PR 46837. |
| 7581 |
[Geoff Keating <geoffk apple.com>] |
| 7582 |
|
| 7583 |
*) mod_ssl: add support for type-safe STACK constructs in OpenSSL |
| 7584 |
development HEAD. PR 45521. [Kaspar Brand, Sander Temme] |
| 7585 |
|
| 7586 |
*) ab: Fix maintenance of the pollset to resolve EALREADY errors |
| 7587 |
with kqueue (BSD/OS X) and excessive CPU with event ports (Solaris). |
| 7588 |
PR 44584. Use APR_POLLSET_NOCOPY for better performance with some |
| 7589 |
pollset implementations. [Jeff Trawick] |
| 7590 |
|
| 7591 |
*) mod_disk_cache: The module now turns off sendfile support if |
| 7592 |
'EnableSendfile off' is defined globally. [Lars Eilebrecht] |
| 7593 |
|
| 7594 |
*) mod_deflate: Adjust content metadata before bailing out on 304 |
| 7595 |
responses so that the metadata does not differ from 200 response. |
| 7596 |
[Roy T. Fielding] |
| 7597 |
|
| 7598 |
*) mod_deflate: Fix creation of invalid Etag headers. We now make sure |
| 7599 |
that the Etag value is properly quoted when adding the gzip marker. |
| 7600 |
PR 39727, 45023. [Lars Eilebrecht, Roy T. Fielding] |
| 7601 |
|
| 7602 |
*) Added 20x22 icons for ODF, SVG, and XML documents. PR 37185. |
| 7603 |
[Peter Harlow] |
| 7604 |
|
| 7605 |
*) Disabled DefaultType directive and removed ap_default_type() |
| 7606 |
from core. We now exclude Content-Type from responses for which |
| 7607 |
a media type has not been configured via mime.types, AddType, |
| 7608 |
ForceType, or some other mechanism. PR 13986. [Roy T. Fielding] |
| 7609 |
|
| 7610 |
*) mod_rewrite: Add IPV6 variable to RewriteCond |
| 7611 |
[Ryan Phillips <ryan-apache trolocsis.com>] |
| 7612 |
|
| 7613 |
*) core: Enhance KeepAliveTimeout to support a value in milliseconds. |
| 7614 |
PR 46275. [Takashi Sato] |
| 7615 |
|
| 7616 |
*) rotatelogs: Allow size units B, K, M, G and combination of |
| 7617 |
time and size based rotation. [Rainer Jung] |
| 7618 |
|
| 7619 |
*) rotatelogs: Add flag for verbose (debug) output. [Rainer Jung] |
| 7620 |
|
| 7621 |
*) mod_ssl: Fix merging of SSLRenegBufferSize directive. PR 46508 |
| 7622 |
[<tlhackque yahoo.com>] |
| 7623 |
|
| 7624 |
*) core: Translate the the status line to ASCII on EBCDIC platforms in |
| 7625 |
ap_send_interim_response() and for locally generated "100 Continue" |
| 7626 |
responses. [Eric Covener] |
| 7627 |
|
| 7628 |
*) prefork: Fix child process hang during graceful restart/stop in |
| 7629 |
configurations with multiple listening sockets. PR 42829. [Joe Orton, |
| 7630 |
Jeff Trawick] |
| 7631 |
|
| 7632 |
*) mod_session_crypto: Ensure that SessionCryptoDriver can only be |
| 7633 |
set in the global scope. [Graham Leggett] |
| 7634 |
|
| 7635 |
*) mod_ext_filter: We need to detect failure to startup the filter |
| 7636 |
program (a mangled response is not acceptable). Fix to detect |
| 7637 |
failure, and offer configuration option either to abort or |
| 7638 |
to remove the filter and continue. |
| 7639 |
PR 41120 [Nick Kew] |
| 7640 |
|
| 7641 |
*) mod_session_crypto: Rewrite the session_crypto module against the |
| 7642 |
apr_crypto API. [Graham Leggett] |
| 7643 |
|
| 7644 |
*) mod_auth_form: Fix a pool lifetime issue, don't remove the subrequest |
| 7645 |
until the main request is cleaned up. [Graham Leggett] |
| 7646 |
|
| 7647 |
Changes with Apache 2.3.1 |
| 7648 |
|
| 7649 |
*) ap_slotmem: Add in new slot-based memory access API impl., including |
| 7650 |
2 providers (mod_sharedmem and mod_plainmem) [Jim Jagielski, |
| 7651 |
Jean-Frederic Clere, Brian Akins <brian.akins turner.com>] |
| 7652 |
|
| 7653 |
*) mod_include: support generating non-ASCII characters as entities in SSI |
| 7654 |
PR 25202 [Nick Kew] |
| 7655 |
|
| 7656 |
*) core/utils: Enhance ap_escape_html API to support escaping non-ASCII chars |
| 7657 |
PR 25202 [Nick Kew] |
| 7658 |
|
| 7659 |
*) mod_rewrite: fix "B" flag breakage by reverting r5589343 |
| 7660 |
PR 45529 [Bob Ionescu <bobsiegen googlemail.com>] |
| 7661 |
|
| 7662 |
*) CGI: return 504 (Gateway timeout) rather than 500 when a script |
| 7663 |
times out before returning status line/headers. |
| 7664 |
PR 42190 [Nick Kew] |
| 7665 |
|
| 7666 |
*) mod_cgid: fix segfault problem on solaris. |
| 7667 |
PR 39332 [Masaoki Kobayashi <masaoki techfirm.co.jp>] |
| 7668 |
|
| 7669 |
*) mod_proxy_scgi: Added. [André Malo] |
| 7670 |
|
| 7671 |
*) mod_cache: Introduce 'no-cache' per-request environment variable |
| 7672 |
to prevent the saving of an otherwise cacheable response. |
| 7673 |
[Eric Covener] |
| 7674 |
|
| 7675 |
*) mod_rewrite: Introduce DiscardPathInfo|DPI flag to stop the troublesome |
| 7676 |
way that per-directory rewrites append the previous notion of PATH_INFO |
| 7677 |
to each substitution before evaluating subsequent rules. |
| 7678 |
PR 38642 [Eric Covener] |
| 7679 |
|
| 7680 |
*) mod_cgid: Do not add an empty argument when calling the CGI script. |
| 7681 |
PR 46380 [Ruediger Pluem] |
| 7682 |
|
| 7683 |
*) scoreboard: Remove unused sb_type from process_score. |
| 7684 |
[Torsten Foertsch <torsten.foertsch gmx.net>, Chris Darroch] |
| 7685 |
|
| 7686 |
*) mod_ssl: Add SSLRenegBufferSize directive to allow changing the |
| 7687 |
size of the buffer used for the request-body where necessary |
| 7688 |
during a per-dir renegotiation. PR 39243. [Joe Orton] |
| 7689 |
|
| 7690 |
*) mod_proxy_fdpass: New module to pass a client connection over to a separate |
| 7691 |
process that is reading from a unix daemon socket. |
| 7692 |
|
| 7693 |
*) mod_ssl: Improve environment variable extraction to be more |
| 7694 |
efficient and to correctly handle DNs with duplicate tags. |
| 7695 |
PR 45975. [Joe Orton] |
| 7696 |
|
| 7697 |
*) Remove the obsolete serial attribute from the RPM spec file. Compile |
| 7698 |
against the external pcre. Add missing binaries fcgistarter, and |
| 7699 |
mod_socache* and mod_session*. [Graham Leggett] |
| 7700 |
|
| 7701 |
Changes with Apache 2.3.0 |
| 7702 |
|
| 7703 |
*) mod_ratelimit: New module to do bandwidth rate limiting. [Paul Querna] |
| 7704 |
|
| 7705 |
*) Remove X-Pad header which was added as a work around to a bug in |
| 7706 |
Netscape 2.x to 4.0b2. [Takashi Sato <takashi lans-tv.com>] |
| 7707 |
|
| 7708 |
*) Add DTrace Statically Defined Tracing (SDT) probes. |
| 7709 |
[Theo Schlossnagle <jesus omniti.com>, Paul Querna] |
| 7710 |
|
| 7711 |
*) mod_proxy_balancer: Move all load balancing implementations |
| 7712 |
as individual, self-contained mod_proxy submodules under |
| 7713 |
modules/proxy/balancers [Jim Jagielski] |
| 7714 |
|
| 7715 |
*) Rename APIs to include ap_ prefix: |
| 7716 |
find_child_by_pid -> ap_find_child_by_pid |
| 7717 |
suck_in_APR -> ap_suck_in_APR |
| 7718 |
sys_privileges_handlers -> ap_sys_privileges_handlers |
| 7719 |
unixd_accept -> ap_unixd_accept |
| 7720 |
unixd_config -> ap_unixd_config |
| 7721 |
unixd_killpg -> ap_unixd_killpg |
| 7722 |
unixd_set_global_mutex_perms -> ap_unixd_set_global_mutex_perms |
| 7723 |
unixd_set_proc_mutex_perms -> ap_unixd_set_proc_mutex_perms |
| 7724 |
unixd_set_rlimit -> ap_unixd_set_rlimit |
| 7725 |
[Paul Querna] |
| 7726 |
|
| 7727 |
*) mod_lbmethod_heartbeat: New module to load balance mod_proxy workers |
| 7728 |
based on heartbeats. [Paul Querna] |
| 7729 |
|
| 7730 |
*) mod_heartmonitor: New module to collect heartbeats, and write out a file |
| 7731 |
so that other modules can load balance traffic as needed. [Paul Querna] |
| 7732 |
|
| 7733 |
*) mod_heartbeat: New module to generate multicast heartbeats to know if a |
| 7734 |
server is online. [Paul Querna] |
| 7735 |
|
| 7736 |
*) mod_buffer: Honour the flush bucket and flush the buffer in the |
| 7737 |
input filter. Make sure that metadata buckets are written to |
| 7738 |
the buffer, not to the final brigade. [Graham Leggett] |
| 7739 |
|
| 7740 |
*) mod_buffer: Optimise the buffering of heap buckets when the heap |
| 7741 |
buckets stay exactly APR_BUCKET_BUFF_SIZE long. [Graham Leggett, |
| 7742 |
Ruediger Pluem] |
| 7743 |
|
| 7744 |
*) mod_buffer: Optional support for buffering of the input and output |
| 7745 |
filter stacks. Can collapse many small buckets into fewer larger |
| 7746 |
buckets, and prevents excessively small chunks being sent over |
| 7747 |
the wire. [Graham Leggett] |
| 7748 |
|
| 7749 |
*) mod_privileges: new module to make httpd on Solaris privileges-aware |
| 7750 |
and to enable different virtualhosts to run with different |
| 7751 |
privileges and Unix user/group IDs [Nick Kew] |
| 7752 |
|
| 7753 |
*) mod_mem_cache: this module has been removed. [William Rowe] |
| 7754 |
|
| 7755 |
*) authn/z: Remove mod_authn_default and mod_authz_default. |
| 7756 |
[Chris Darroch] |
| 7757 |
|
| 7758 |
*) authz: Fix handling of authz configurations, make default authz |
| 7759 |
logic replicate 2.2.x authz logic, and replace <Satisfy*>, Reject, |
| 7760 |
and AuthzMergeRules directives with Match, <Match*>, and AuthzMerge |
| 7761 |
directives. [Chris Darroch] |
| 7762 |
|
| 7763 |
*) mod_authn_core: Prevent crash when provider alias created to |
| 7764 |
provider which is not yet registered. [Chris Darroch] |
| 7765 |
|
| 7766 |
*) mod_authn_core: Add AuthType of None to support disabling |
| 7767 |
authentication. [Chris Darroch] |
| 7768 |
|
| 7769 |
*) core: Allow <Limit> and <LimitExcept> directives to nest, and |
| 7770 |
constrain their use to conform with that of other access control |
| 7771 |
and authorization directives. [Chris Darroch] |
| 7772 |
|
| 7773 |
*) unixd: turn existing code into a module, and turn the set user/group |
| 7774 |
and chroot into a child_init function. [Nick Kew] |
| 7775 |
|
| 7776 |
*) mod_dir: Support "DirectoryIndex disabled" |
| 7777 |
Suggested By André Warnier <aw ice-sa.com> [Eric Covener] |
| 7778 |
|
| 7779 |
*) mod_ssl: Send Content-Type application/ocsp-request for POST requests to |
| 7780 |
OSCP responders. PR 46014 [Dr Stephen Henson <steve openssl.org>] |
| 7781 |
|
| 7782 |
*) mod_authnz_ldap: don't return NULL-valued environment variables to |
| 7783 |
other modules. PR 39045 [Francois Pesce <francois.pesce gmail.com>] |
| 7784 |
|
| 7785 |
*) Don't adjust case in pathname components that are not of interest |
| 7786 |
to mod_mime. Fixes mod_negotiation's use of such components. |
| 7787 |
PR 43250 [Basant Kumar Kukreja <basant.kukreja sun.com>] |
| 7788 |
|
| 7789 |
*) Be tolerant in what you accept - accept slightly broken |
| 7790 |
status lines from a backend provided they include a valid status code. |
| 7791 |
PR 44995 [Rainer Jung <rainer.jung kippdata.de>] |
| 7792 |
|
| 7793 |
*) New module mod_sed: filter Request/Response bodies through sed |
| 7794 |
[Basant Kumar Kukreja <basant.kukreja sun.com>] |
| 7795 |
|
| 7796 |
*) mod_auth_form: Make sure that basic authentication is correctly |
| 7797 |
faked directly after login. [Graham Leggett] |
| 7798 |
|
| 7799 |
*) mod_session_cookie, mod_session_dbd: Make sure cookies are set both |
| 7800 |
within the output headers and error output headers, so that the |
| 7801 |
session is maintained across redirects. [Graham Leggett] |
| 7802 |
|
| 7803 |
*) mod_auth_form: Make sure the logged in user is populated correctly |
| 7804 |
after a form login. Fixes a missing REMOTE_USER variable directly |
| 7805 |
following a login. [Graham Leggett] |
| 7806 |
|
| 7807 |
*) mod_session_cookie: Make sure that cookie attributes are correctly |
| 7808 |
included in the blank cookie when cookies are removed. This fixes an |
| 7809 |
inability to log out when using mod_auth_form. [Graham Leggett] |
| 7810 |
|
| 7811 |
*) mod_session: Prevent a segfault when a CGI script sets a cookie with a |
| 7812 |
null value. [David Shane Holden <dpejesh apache.org>] |
| 7813 |
|
| 7814 |
*) core, authn/z: Determine registered authn/z providers directly in |
| 7815 |
ap_setup_auth_internal(), which allows optional functions that just |
| 7816 |
wrapped ap_list_provider_names() to be removed from authn/z modules. |
| 7817 |
[Chris Darroch] |
| 7818 |
|
| 7819 |
*) authn/z: Convert common provider version strings to macros. |
| 7820 |
[Chris Darroch] |
| 7821 |
|
| 7822 |
*) core: When testing for slash-terminated configuration paths in |
| 7823 |
ap_location_walk(), don't look past the start of an empty string |
| 7824 |
such as that created by a <Location ""> directive. |
| 7825 |
[Chris Darroch] |
| 7826 |
|
| 7827 |
*) core, mod_proxy: If a kept_body is present, it becomes safe for |
| 7828 |
subrequests to support message bodies. Make sure that safety |
| 7829 |
checks within the core and within the proxy are not triggered |
| 7830 |
when kept_body is present. This makes it possible to embed |
| 7831 |
proxied POST requests within mod_include. [Graham Leggett] |
| 7832 |
|
| 7833 |
*) mod_auth_form: Make sure the input filter stack is properly set |
| 7834 |
up before reading the login form. Make sure the kept body filter |
| 7835 |
is correctly inserted to ensure the body can be read a second |
| 7836 |
time safely should the authn be successful. [Graham Leggett, |
| 7837 |
Ruediger Pluem] |
| 7838 |
|
| 7839 |
*) mod_request: Insert the KEPT_BODY filter via the insert_filter |
| 7840 |
hook instead of during fixups. Add a safety check to ensure the |
| 7841 |
filters cannot be inserted more than once. [Graham Leggett, |
| 7842 |
Ruediger Pluem] |
| 7843 |
|
| 7844 |
*) ap_cache_cacheable_headers_out() will (now) always |
| 7845 |
merge an error headers _before_ clearing them and _before_ |
| 7846 |
merging in the actual entity headers and doing normal |
| 7847 |
hop-by-hop cleansing. [Dirk-Willem van Gulik]. |
| 7848 |
|
| 7849 |
*) cache: retire ap_cache_cacheable_hdrs_out() which was used |
| 7850 |
for both in- and out-put headers; and replace it by a single |
| 7851 |
ap_cache_cacheable_headers() wrapped in a in- and out-put |
| 7852 |
specific ap_cache_cacheable_headers_in()/out(). The latter |
| 7853 |
which will also merge error and ensure content-type. To keep |
| 7854 |
cache modules consistent with ease. This API change bumps |
| 7855 |
up the minor MM by one [Dirk-Willem van Gulik]. |
| 7856 |
|
| 7857 |
*) Move the KeptBodySize directive, kept_body filters and the |
| 7858 |
ap_parse_request_body function out of the http module and into a |
| 7859 |
new module called mod_request, reducing the size of the core. |
| 7860 |
[Graham Leggett] |
| 7861 |
|
| 7862 |
*) mod_dbd: Handle integer configuration directive parameters with a |
| 7863 |
dedicated function. |
| 7864 |
|
| 7865 |
*) Change the directives within the mod_session* modules to be valid |
| 7866 |
both inside and outside the location/directory sections, as |
| 7867 |
suggested by wrowe. [Graham Leggett] |
| 7868 |
|
| 7869 |
*) mod_auth_form: Add a module capable of allowing end users to log |
| 7870 |
in using an HTML form, storing the credentials within mod_session. |
| 7871 |
[Graham Leggett] |
| 7872 |
|
| 7873 |
*) Add a function to the http filters that is able to parse an HTML |
| 7874 |
form request with the type of application/x-www-form-urlencoded. |
| 7875 |
[Graham Leggett] |
| 7876 |
|
| 7877 |
*) mod_session_crypto: Initialise SSL in the post config hook. |
| 7878 |
[Ruediger Pluem, Graham Leggett] |
| 7879 |
|
| 7880 |
*) mod_session_dbd: Add a session implementation capable of storing |
| 7881 |
session information in a SQL database via the dbd interface. Useful |
| 7882 |
for sites where session privacy is important. [Graham Leggett] |
| 7883 |
|
| 7884 |
*) mod_session_crypto: Add a session encoding implementation capable |
| 7885 |
of encrypting and decrypting sessions wherever they may be stored. |
| 7886 |
Introduces a level of privacy when sessions are stored on the |
| 7887 |
browser. [Graham Leggett] |
| 7888 |
|
| 7889 |
*) mod_session_cookie: Add a session implementation capable of storing |
| 7890 |
session information within cookies on the browser. Useful for high |
| 7891 |
volume sites where server bound sessions are too resource intensive. |
| 7892 |
[Graham Leggett] |
| 7893 |
|
| 7894 |
*) mod_session: Add a generic session interface to unify the different |
| 7895 |
attempts at saving persistent sessions across requests. |
| 7896 |
[Graham Leggett] |
| 7897 |
|
| 7898 |
*) core, authn/z: Avoid calling access control hooks for internal requests |
| 7899 |
with configurations which match those of initial request. Revert to |
| 7900 |
original behaviour (call access control hooks for internal requests |
| 7901 |
with URIs different from initial request) if any access control hooks or |
| 7902 |
providers are not registered as permitting this optimization. |
| 7903 |
Introduce wrappers for access control hook and provider registration |
| 7904 |
which can accept additional mode and flag data. [Chris Darroch] |
| 7905 |
|
| 7906 |
*) Introduced ap_expr API for expression evaluation. |
| 7907 |
This is adapted from mod_include, which is the first module |
| 7908 |
to use the new API. |
| 7909 |
[Nick Kew] |
| 7910 |
|
| 7911 |
*) mod_authz_dbd: When redirecting after successful login/logout per |
| 7912 |
AuthzDBDRedirectQuery, do not report authorization failure, and use |
| 7913 |
first row returned by database query instead of last row. |
| 7914 |
[Chris Darroch] |
| 7915 |
|
| 7916 |
*) mod_ldap: Correctly return all requested attribute values |
| 7917 |
when some attributes have a null value. |
| 7918 |
PR 44560 [Anders Kaseorg <anders kaseorg.com>] |
| 7919 |
|
| 7920 |
*) core: check symlink ownership if both FollowSymlinks and |
| 7921 |
SymlinksIfOwnerMatch are set [Nick Kew] |
| 7922 |
|
| 7923 |
*) core: fix origin checking in SymlinksIfOwnerMatch |
| 7924 |
PR 36783 [Robert L Mathews <rob-apache.org.bugs tigertech.net>] |
| 7925 |
|
| 7926 |
*) Activate mod_cache, mod_file_cache and mod_disk_cache as part of the |
| 7927 |
'most' set for '--enable-modules' and '--enable-shared-mods'. Include |
| 7928 |
mod_mem_cache in 'all' as well. [Dirk-Willem van Gulik] |
| 7929 |
|
| 7930 |
*) Also install mod_so.h, mod_rewrite.h and mod_cache.h; as these |
| 7931 |
contain public function declarations which are useful for |
| 7932 |
third party module authors. PR 42431 [Dirk-Willem van Gulik]. |
| 7933 |
|
| 7934 |
*) mod_dir, mod_negotiation: pass the output filter information |
| 7935 |
to newly created sub requests; as these are later on used |
| 7936 |
as true requests with an internal redirect. This allows for |
| 7937 |
mod_cache et.al. to trap the results of the redirect. |
| 7938 |
[Dirk-Willem van Gulik, Ruediger Pluem] |
| 7939 |
|
| 7940 |
*) mod_ldap: Add support (taking advantage of the new APR capability) |
| 7941 |
for ldap rebind callback while chasing referrals. This allows direct |
| 7942 |
searches on LDAP servers (in particular MS Active Directory 2003+) |
| 7943 |
using referrals without the use of the global catalog. |
| 7944 |
PRs 26538, 40268, and 42557 [Paul J. Reder] |
| 7945 |
|
| 7946 |
*) ApacheMonitor.exe: Introduce --kill argument for use by the |
| 7947 |
installer. This will permit the installation tool to remove |
| 7948 |
all running instances before attempting to remove the .exe. |
| 7949 |
[William Rowe] |
| 7950 |
|
| 7951 |
*) mod_ssl: Add support for OCSP validation of client certificates. |
| 7952 |
PR 41123. [Marc Stern <marc.stern approach.be>, Joe Orton] |
| 7953 |
|
| 7954 |
*) mod_serf: New module for Reverse Proxying. [Paul Querna] |
| 7955 |
|
| 7956 |
*) core: Add the option to keep aside a request body up to a certain |
| 7957 |
size that would otherwise be discarded, to be consumed by filters |
| 7958 |
such as mod_include. When enabled for a directory, POST requests |
| 7959 |
to shtml files can be passed through to embedded scripts as POST |
| 7960 |
requests, rather being downgraded to GET requests. [Graham Leggett] |
| 7961 |
|
| 7962 |
*) mod_ssl: Fix TLS upgrade (RFC 2817) support. PR 41231. [Joe Orton] |
| 7963 |
|
| 7964 |
*) scoreboard: Correctly declare ap_time_process_request. |
| 7965 |
PR 43789 [Tom Donovan <Tom.Donovan acm.org>] |
| 7966 |
|
| 7967 |
*) core; scoreboard: ap_get_scoreboard_worker(sbh) now takes the sbh member |
| 7968 |
from the connection rec, ap_get_scoreboard_worker(proc, thread) will now |
| 7969 |
provide the unusual legacy lookup. [William Rowe] |
| 7970 |
|
| 7971 |
*) mpm winnt: fix null pointer dereference |
| 7972 |
PR 42572 [Davi Arnaut] |
| 7973 |
|
| 7974 |
*) mod_authnz_ldap, mod_authn_dbd: Tidy up the code to expose authn |
| 7975 |
parameters to the environment. Improve portability to |
| 7976 |
EBCDIC machines by using apr_toupper(). [Martin Kraemer] |
| 7977 |
|
| 7978 |
*) mod_ldap, mod_authnz_ldap: Add support for nested groups (i.e. the ability |
| 7979 |
to authorize an authenticated user via a "require ldap-group X" directive |
| 7980 |
where the user is not in group X, but is in a subgroup contained in X. |
| 7981 |
PR 42891 [Paul J. Reder] |
| 7982 |
|
| 7983 |
*) mod_ssl: Add support for caching SSL Sessions in memcached. [Paul Querna] |
| 7984 |
|
| 7985 |
*) apxs: Enhance -q flag to print all known variables and their values |
| 7986 |
when invoked without variable name(s). |
| 7987 |
[William Rowe, Sander Temme] |
| 7988 |
|
| 7989 |
*) apxs: Eliminate run-time check for mod_so. PR 40653. |
| 7990 |
[David M. Lee <dmlee crossroads.com>] |
| 7991 |
|
| 7992 |
*) beos MPM: Create pmain pool and run modules' child_init hooks when |
| 7993 |
entering ap_mpm_run(), then destroy pmain when exiting ap_mpm_run(). |
| 7994 |
[Chris Darroch] |
| 7995 |
|
| 7996 |
*) netware MPM: Destroy pmain pool when exiting ap_mpm_run() so that |
| 7997 |
cleanups registered in modules' child_init hooks are performed. |
| 7998 |
[Chris Darroch] |
| 7999 |
|
| 8000 |
*) Fix issue which could cause error messages to be written to access logs |
| 8001 |
on Win32. PR 40476. [Tom Donovan <Tom.Donovan acm.org>] |
| 8002 |
|
| 8003 |
*) The LockFile directive, which specifies the location of |
| 8004 |
the accept() mutex lockfile, is deprecated. Instead, the |
| 8005 |
AcceptMutex directive now takes an optional lockfile |
| 8006 |
location parameter, ala SSLMutex. [Jim Jagielski] |
| 8007 |
|
| 8008 |
*) mod_authn_dbd: Export any additional columns queried in the SQL select |
| 8009 |
into the environment with the name AUTHENTICATE_<COLUMN>. This brings |
| 8010 |
mod_authn_dbd behaviour in line with mod_authnz_ldap. [Graham Leggett] |
| 8011 |
|
| 8012 |
*) mod_dbd: Key the storage of prepared statements on the hex string |
| 8013 |
value of server_rec, rather than the server name, as the server name |
| 8014 |
may change (eg when the server name is set) at any time, causing |
| 8015 |
weird behaviour in modules dependent on mod_dbd. [Graham Leggett] |
| 8016 |
|
| 8017 |
*) mod_proxy_fcgi: Added win32 build. [Mladen Turk] |
| 8018 |
|
| 8019 |
*) sendfile_nonblocking() takes the _brigade_ as an argument, gets |
| 8020 |
the first bucket from the brigade, finds it not to be a FILE |
| 8021 |
bucket and barfs. The fix is to pass a bucket rather than a brigade. |
| 8022 |
[Niklas Edmundsson <nikke acc.umu.se>] |
| 8023 |
|
| 8024 |
*) mod_rewrite: support rewritemap by SQL query [Nick Kew] |
| 8025 |
|
| 8026 |
*) ap_get_server_version() has been removed. Third-party modules must |
| 8027 |
now use ap_get_server_banner() or ap_get_server_description(). |
| 8028 |
[Jeff Trawick] |
| 8029 |
|
| 8030 |
*) All MPMs: Introduce a check_config phase between pre_config and |
| 8031 |
open_logs, to allow modules to review interdependent configuration |
| 8032 |
directive values and adjust them while messages can still be logged |
| 8033 |
to the console. Handle relevant MPM directives during this phase |
| 8034 |
and format messages for both the console and the error log, as |
| 8035 |
appropriate. [Chris Darroch] |
| 8036 |
|
| 8037 |
*) core: Do not allow internal redirects like the DirectoryIndex of mod_dir |
| 8038 |
to circumvent the symbolic link checks imposed by FollowSymLinks and |
| 8039 |
SymLinksIfOwnerMatch. [Nick Kew, Ruediger Pluem, William Rowe] |
| 8040 |
|
| 8041 |
*) New SSLLogLevelDebugDump [ None (default) | IO (not bytes) | Bytes ] |
| 8042 |
configures the I/O Dump of SSL traffic, when LogLevel is set to Debug. |
| 8043 |
The default is none as this is far greater debugging resolution than |
| 8044 |
the typical administrator is prepared to untangle. [William Rowe] |
| 8045 |
|
| 8046 |
*) mod_disk_cache: If possible, check if the size of an object to cache is |
| 8047 |
within the configured boundaries before actually saving data. |
| 8048 |
[Niklas Edmundsson <nikke acc.umu.se>] |
| 8049 |
|
| 8050 |
*) Worker and event MPMs: Remove improper scoreboard updates which were |
| 8051 |
performed in the event of a fork() failure. [Chris Darroch] |
| 8052 |
|
| 8053 |
*) Add support for fcgi:// proxies to mod_rewrite. |
| 8054 |
[Markus Schiegl <ms schiegl.com>] |
| 8055 |
|
| 8056 |
*) Remove incorrect comments from scoreboard.h regarding conditional |
| 8057 |
loading of worker_score structure with mod_status, and remove unused |
| 8058 |
definitions relating to old life_status field. |
| 8059 |
[Chris Darroch <chrisd pearsoncmg.com>] |
| 8060 |
|
| 8061 |
*) Remove allocation of memory for unused array of lb_score pointers |
| 8062 |
in ap_init_scoreboard(). [Chris Darroch <chrisd pearsoncmg.com>] |
| 8063 |
|
| 8064 |
*) Add mod_proxy_fcgi, a FastCGI back end for mod_proxy. |
| 8065 |
[Garrett Rooney, Jim Jagielski, Paul Querna] |
| 8066 |
|
| 8067 |
*) Event MPM: Fill in the scoreboard's tid field. PR 38736. |
| 8068 |
[Chris Darroch <chrisd pearsoncmg.com>] |
| 8069 |
|
| 8070 |
*) mod_charset_lite: Remove Content-Length when output filter can |
| 8071 |
invalidate it. Warn when input filter can invalidate it. |
| 8072 |
[Jeff Trawick] |
| 8073 |
|
| 8074 |
*) Authz: Add the new module mod_authn_core that will provide common |
| 8075 |
authn directives such as 'AuthType', 'AuthName'. Move the directives |
| 8076 |
'AuthType' and 'AuthName' out of the core module and merge mod_authz_alias |
| 8077 |
into mod_authn_core. [Brad Nicholes] |
| 8078 |
|
| 8079 |
*) Authz: Move the directives 'Order', 'Allow', 'Deny' and 'Satisfy' |
| 8080 |
into the new module mod_access_compat which can be loaded to provide |
| 8081 |
support for these directives. |
| 8082 |
[Brad Nicholes] |
| 8083 |
|
| 8084 |
*) Authz: Move the 'Require' directive from the core module as well as |
| 8085 |
add the directives '<SatisfyAll>', '<SatisfyOne>', '<RequireAlias>' |
| 8086 |
and 'Reject' to mod_authz_core. The new directives introduce 'AND/OR' |
| 8087 |
logic into the authorization processing. [Brad Nicholes] |
| 8088 |
|
| 8089 |
*) Authz: Add the new module mod_authz_core which acts as the |
| 8090 |
authorization provider vector and contains common authz |
| 8091 |
directives. [Brad Nicholes] |
| 8092 |
|
| 8093 |
*) Authz: Renamed mod_authz_dbm authz providers from 'group' and |
| 8094 |
'file-group' to 'dbm-group' and 'dbm-file-group'. [Brad Nicholes] |
| 8095 |
|
| 8096 |
*) Authz: Added the new authz providers 'env', 'ip', 'host', 'all' to handle |
| 8097 |
host-based access control provided by mod_authz_host and invoked |
| 8098 |
through the 'Require' directive. [Brad Nicholes] |
| 8099 |
|
| 8100 |
*) Authz: Convert all of the authz modules from hook based to |
| 8101 |
provider based. [Brad Nicholes] |
| 8102 |
|
| 8103 |
*) mod_cache: Add CacheMinExpire directive to set the minimum time in |
| 8104 |
seconds to cache a document. |
| 8105 |
[Brian Akins <brian.akins turner.com>, Ruediger Pluem] |
| 8106 |
|
| 8107 |
*) mod_authz_dbd: SQL authz with Login/Session support [Nick Kew] |
| 8108 |
|
| 8109 |
*) Fix typo in ProxyStatus syntax error message. |
| 8110 |
[Christophe Jaillet <christophe.jaillet wanadoo.fr>] |
| 8111 |
|
| 8112 |
*) Asynchronous write completion for the Event MPM. [Brian Pane] |
| 8113 |
|
| 8114 |
*) Added an End-Of-Request bucket type. The logging of a request and |
| 8115 |
the freeing of its pool are now done when the EOR bucket is destroyed. |
| 8116 |
This has the effect of delaying the logging until right after the last |
| 8117 |
of the response is sent; ap_core_output_filter() calls the access logger |
| 8118 |
indirectly when it destroys the EOR bucket. [Brian Pane] |
| 8119 |
|
| 8120 |
*) Rewrite of logresolve support utility: IPv6 addresses are now supported |
| 8121 |
and the format of statistical output has changed. [Colm MacCarthaigh] |
| 8122 |
|
| 8123 |
*) Rewrite of ap_coreoutput_filter to do nonblocking writes [Brian Pane] |
| 8124 |
|
| 8125 |
*) Added new connection states for handler and write completion |
| 8126 |
[Brian Pane] |
| 8127 |
|
| 8128 |
*) mod_cgid: Refuse to work on Solaris 10 due to OS bugs. PR 34264. |
| 8129 |
[Justin Erenkrantz] |
| 8130 |
|
| 8131 |
*) Teach mod_ssl to use arbitrary OIDs in an SSLRequire directive, |
| 8132 |
allowing string-valued client certificate attributes to be used for |
| 8133 |
access control, as in: SSLRequire "value" in OID("1.3.6.1.4.1.18060.1") |
| 8134 |
[Martin Kraemer, David Reid] |
| 8135 |
|
| 8136 |
[Apache 2.3.0-dev includes those bug fixes and changes with the |
| 8137 |
Apache 2.2.xx tree as documented, and except as noted, below.] |
| 8138 |
|
| 8139 |
Changes with Apache 2.2.x and later: |
| 8140 |
|
| 8141 |
*) http://svn.apache.org/viewvc/httpd/httpd/branches/2.2.x/CHANGES?view=markup |
| 8142 |
|
| 8143 |
Changes with Apache 2.0.x and later: |
| 8144 |
|
| 8145 |
*) http://svn.apache.org/viewvc/httpd/httpd/branches/2.0.x/CHANGES?view=markup |