CHANGES 237 KB
Newer Older
powelld's avatar
powelld committed
1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000
     [Stefan Eissing]

  *) mod_http2: Fixed flushing of last GOAWAY frame. Previously, that frame
     did not always reach the client, causing some to fail the next request.
     Fixed calculation of last stream id accepted as described in rfc7540. 
     Reading in KEEPALIVE state now correctly shown in scoreboard. 
     Fixed possible race in connection shutdown after review by Ylavic. 
     Fixed segfault on connection shutdown, callback ran into a semi dismantled session. 
     [Stefan Eissing]

  *) mod_http2: Added support for experimental accept-push-policy draft
     (https://tools.ietf.org/html/draft-ruellan-http-accept-push-policy-00). Clients
     may now influence server pushes by sending accept-push-policy headers.
     [Stefan Eissing]

  *) mod_http2: new r->subprocess_env variables HTTP2 and H2PUSH, set to "on"
     when available for request.
     [Stefan Eissing]

  *) mod_http2: fixed bug in input window size calculation by moving chunked
     request body encoding into later stage of processing. Fixes PR 58825.
     [Stefan Eissing]

  *) core: new hook "pre_close_connection" which is run before the lingering
     close of connections is started. This gives protocol handlers one last
     chance to use a connection before it goes down.
     [Stefan Eissing]

  *) mod_status/scoreboard: showing connection protocol in new column, new 
     ap_update_child_status methods for updating server/description. mod_ssl
     sets vhost negotiated by servername directly.
     [Stefan Eissing]

Changes with Apache 2.4.18

  *) mod_ssl: for all ssl_engine_vars.c lookups, fall back to master connection
     if conn_rec itself holds no valid SSLConnRec*. Fixes PR58666.
     [Stefan Eissing]

  *) mod_http2: connection level window for flow control is set to protocol
     maximum of 2GB-1, preventing window exhaustion when sending data on many
     streams with higher cumulative window size. 
     Reducing write frequency unless push promises need to be flushed.
     [Stefan Eissing]

  *) mod_http2: required minimum version of libnghttp2 is 1.2.1
     [Stefan Eissing]

  *) mod_proxy_fdpass: Fix AH01153 error when using the default configuration.
     In earlier version of httpd, you can explicitelly set the 'flusher' parameter
     to 'flush' as a workaround. (i.e. flusher=flush)
     Add documentation for the 'flusher' parameter when defining a proxy worker.
     [Christophe Jaillet]

  *) mod_ssl: For the "SSLStaplingReturnResponderErrors off" case, make sure
     to only staple responses with certificate status "good". [Kaspar Brand]

  *) mod_http2: new directive 'H2PushPriority' to allow priority specifications
     on server pushed streams according to their content-type. 
     [Stefan Eissing]

  *) mod_http2: fixes crash on connection abort for a busy connection.
     fixes crash on a request that did not produce any response.
     [Stefan Eissing]

  *) mod_http2: trailers are sent after response body if set in request_rec
     trailers_out before the end-of-request bucket is sent through the 
     output filters. [Stefan Eissing]

  *) mod_http2: incoming trailers (headers after request body) are properly
     forwarded to the processing engine. [Stefan Eissing]

  *) mod_http2: new directive 'H2Push' to en-/disable HTTP/2 server
     pushes a server/virtual host. Pushes are initiated by the presence
     of 'Link:' headers with relation 'preload' on a response. [Stefan Eissing]

  *) mod_http2: write performance of http2 improved for larger resources,
     especially static files. [Stefan Eissing]

  *) core: if the first HTTP/1.1 request on a connection goes to a server that
     prefers different protocols, these protocols are announced in a Upgrade:
     header on the response, mentioning the preferred protocols.
     [Stefan Eissing]

  *) mod_http2: new directives 'H2TLSWarmUpSize' and 'H2TLSCoolDownSecs'
     to control TLS record sizes during connection lifetime.
     [Stefan Eissing]

  *) mod_http2: new directive 'H2ModernTLSOnly' to enforce security
     requirements of RFC 7540 on TLS connections. [Stefan Eissing]

  *) core: add ap_get_protocol_upgrades() to retrieve the list of protocols
     that a client could possibly upgrade to. Use in first request on a 
     connection to announce protocol choices. [Stefan Eissing]

  *) mod_http2: reworked deallocation on connection shutdown and worker
     abort. Separate parent pool for all workers. worker threads are joined
     on planned worker shutdown. [Yann Ylavic, Stefan Eissing]

  *) mod_ssl: when receiving requests for other virtual hosts than the handshake
     server, the SSL parameters are checked for equality. With equal 
     configuration, requests are passed for processing. Any change will trigger
     the old behaviour of "421 Misdirected Request".
     SSL now remembers the cipher suite that was used for the last handshake.
     This is compared against for any vhost/directory cipher specification. 
     Detailed examination of renegotiation is only done when these do not
     match.
     Renegotiation is 403ed when a master connection is present. Exact reason
     is given additionally in a request note. [Stefan Eissing]

  *) mod_ssl: Make the output filter more friendly with deferred write and
     response pipelining. [Yann Ylavic, Joe Orton]

  *) core: Fix scoreboard crash (SIGBUS) on hardware requiring strict 64bit
     alignment (SPARC64, PPC64).  [Yann Ylavic]

  *) mod_cache: Accept HT (Horizontal Tab) when parsing cache related header
     fields as described in RFC7230. [Christophe Jaillet]

  *) core/util_script: making REDIRECT_URL a full URL is now opt-in
     via new 'QualifyRedirectURL' directive.

  *) core: Limit to ten the number of tolerated empty lines between request,
     and consume them before the pipelining check to avoid possible response
     delay when reading the next request without flushing.  [Yann Ylavic]

  *) mod_ssl: Extend expression parser registration to support ssl variables
     in any expression using mod_rewrite syntax "%{SSL:VARNAME}" or function
     syntax "ssl(VARNAME)". [Rainer Jung]

Changes with Apache 2.4.17

  *) mod_http2: added donated HTTP/2 implementation via core module. Similar
     configuration options to mod_ssl. [Stefan Eissing]

  *) mod_proxy: don't recyle backend announced "Connection: close" connections
     to avoid reusing it should the close be effective after some new request
     is ready to be sent.  [Yann Ylavic]

  *) mod_substitute: Allow to configure the patterns merge order with the new
     SubstituteInheritBefore on|off directive.  PR 57641
     [Marc.Stern <Marc.Stern approach.be>, Yann Ylavic, William Rowe]

  *) mod_proxy: Fix ProxySourceAddress binding failure with AH00938.
     PR 56687.  [Arne de Bruijn <apache arbruijn.dds.nl>

  *) mod_ssl: Support compilation against libssl built with OPENSSL_NO_SSL3,
     and change the compiled-in default for SSL[Proxy]Protocol to "all -SSLv3",
     in accordance with RFC 7568. PR 58349, PR 57120. [Kaspar Brand]

  *) mod_ssl: append :!aNULL:!eNULL:!EXP to the cipher string settings,
     instead of prepending !aNULL:!eNULL:!EXP: (as was the case in 2.4.7
     and later). Enables support for configuring the SUITEB* cipher
     strings introduced in OpenSSL 1.0.2. PR 58213. [Kaspar Brand]

  *) mod_ssl: Add support for extracting the msUPN and dnsSRV forms
     of subjectAltName entries of type "otherName" into
     SSL_{CLIENT,SERVER}_SAN_OTHER_{msUPN,dnsSRV}_n environment
     variables. Addresses PR 58020. [Jan Pazdziora <jpazdziora redhat.com>,
     Kaspar Brand]

  *) mod_logio: Fix logging of %^FB (time to first byte) on the first request on
     an SSL connection.  PR 58454.  
     [Konstantin J. Chernov <k.j.chernov gmail.com>]

  *) mod_cache: r->err_headers_out is not merged into
     r->headers when mod_cache is enabled and the response
     is cached for the first time. [Edward Lu]

  *) mod_slotmem_shm: Fix slots/SHM files names on restart for systems that
     can't create new (clear) slots while previous children gracefully stopping
     still use the old ones (e.g. Windows, OS2). mod_proxy_balancer failed to
     restart whenever the number of configured balancers/members changed during
     restart.  PR 58024.  [Yann Ylavic]

  *) core/util_script: make REDIRECT_URL a full URL.  PR 57785. [Nick Kew]

  *) MPMs: Support SO_REUSEPORT to create multiple duplicated listener
     records for scalability. [Yingqi Lu <yingqi.lu@intel.com>,
     Jeff Trawick, Jim Jagielski, Yann Ylavic]

  *) mod_alias: Introduce expression parser support for Alias, ScriptAlias
     and Redirect. Limit Redirect expressions to directory (Location) context
     and redirect statuses (implicit or explicit).
     [Graham Leggett, Yann Ylavic, Ruediger Pluem]

  *) mod_proxy: Fix a race condition that caused a failed worker to be retried
     before the retry period is over. [Ruediger Pluem]

  *) mod_autoindex: Allow autoindexes when neither mod_dir nor mod_mime are
     loaded. [Eric Covener]

  *) mod_rewrite:  Allow cookies set by mod_rewrite to contain ':' by accepting
     ';' as an alternate separator.  PR47241. 
     [<bugzilla schermesser com>, Eric Covener]

  *) apxs: Add HTTPD_VERSION and HTTPD_MMN to the variables available with 
     apxs -q. PR58202. [Daniel Shahaf <danielsh apache.org>]

  *) mod_rewrite: Avoid a crash when lacking correct DB access permissions
     when using RewriteMap with MapType dbd or fastdbd.  [Christophe Jaillet]

  *) mod_authz_dbd: Avoid a crash when lacking correct DB access permissions.
     PR 57868. [Jose Kahan <jose w3.org>, Yann Ylavic]

  *) mod_socache_memcache: Add the 'MemcacheConnTTL' directive to control how 
     long to keep idle connections with the memcache server(s).
     Change default value from 600 usec (!) to 15 sec. PR 58091
     [Christophe Jaillet]

  *) mod_dir: Prevent the internal identifier "httpd/unix-directory" from
     appearing as a Content-Type response header when requests for a directory
     are rewritten by mod_rewrite. [Eric Covener]

Changes with Apache 2.4.16

  *) http: Fix LimitRequestBody checks when there is no more bytes to read.
     [Michael Kaufmann <mail michael-kaufmann.ch>]

  *) mod_alias: Revert expression parser support for Alias, ScriptAlias
     and Redirect due to a regression (introduced in 2.4.13, not released).

  *) mod_reqtimeout: Don't let pipelining checks and keep-alive times interfere
     with the timeouts computed for subsequent requests.  PR 56729.
     [Eric Covener, Yann Ylavic]

  *) core: Avoid a possible truncation of the faulty header included in the
     HTML response when LimitRequestFieldSize is reached.  [Yann Ylavic]

  *) mod_ldap: In some case, LDAP_NO_SUCH_ATTRIBUTE could be returned instead
     of an error during a compare operation. [Eric Covener]

Changes with Apache 2.4.15 (not released)

  *) mod_ext_filter, mod_charset_lite: Avoid inadvertent filtering of protocol
     data during read of chunked request bodies. PR 58049. 
     [Edward Lu <Chaosed0 gmail.com>]

  *) mod_ldap: Stop leaking LDAP connections when 'LDAPConnectionPoolTTL 0' 
     is configured.  PR 58037.  [Ted Phelps <phelps gnusto.com>]

  *) core: Allow spaces after chunk-size for compatibility with implementations
     using a pre-filled buffer.  [Yann Ylavic, Jeff Trawick]

  *) mod_ssl: Remove deprecated SSLCertificateChainFile warning.
     [Yann Ylavic]

Changes with Apache 2.4.14 (not released)

  *) SECURITY: CVE-2015-3183 (cve.mitre.org)
     core: Fix chunk header parsing defect.
     Remove apr_brigade_flatten(), buffering and duplicated code from
     the HTTP_IN filter, parse chunks in a single pass with zero copy.
     Limit accepted chunk-size to 2^63-1 and be strict about chunk-ext
     authorized characters.  [Graham Leggett, Yann Ylavic]

  *) SECURITY: CVE-2015-3185 (cve.mitre.org)
     Replacement of ap_some_auth_required (unusable in Apache httpd 2.4)
     with new ap_some_authn_required and ap_force_authn hook.  [Ben Reser]

Changes with Apache 2.4.13 (not released)

  *) SECURITY: CVE-2015-0253 (cve.mitre.org)
     core: Fix a crash with ErrorDocument 400 pointing to a local URL-path 
     with the INCLUDES filter active, introduced in 2.4.11. PR 57531. 
     [Yann Ylavic]

  *) SECURITY: CVE-2015-0228 (cve.mitre.org)
     mod_lua: A maliciously crafted websockets PING after a script
     calls r:wsupgrade() can cause a child process crash. 
     [Edward Lu <Chaosed0 gmail.com>]

  *) mod_proxy: Don't put the worker in error state for 500 or 503 errors
     returned by the backend unless failonstatus is configured to.  PR 56925.
     [Yann Ylavic]

  *) core: Don't lowercase the argument to SetHandler if it begins with
     "proxy:unix". PR 57968. [Eric Covener]

  *) mod_ssl OCSP Stapling: Don't block initial handshakes while refreshing
     the OCSP response for a different certificate.  mod_ssl has an additional
     global mutex, "ssl-stapling-refresh".  PR 57131 (partial fix).
     [Jeff Trawick]

  *) mod_authz_dbm: Fix crashes when "dbm-file-group" is used and
     authz modules were loaded in the "wrong" order.  [Joe Orton]

  *) mod_authn_dbd, mod_authz_dbd, mod_session_dbd, mod_rewrite: Fix lifetime
     of DB lookup entries independently of the selected DB engine.  PR 46421.
     [Steven whitson <steven.whitson gmail com>, Jan Kaluza, Yann Ylavic].

  *) In alignment with RFC 7525, the default recommended SSLCipherSuite
     and SSLProxyCipherSuite now exclude RC4 as well as MD5. Also, the
     default recommended SSLProtocol and SSLProxyProtocol directives now
     exclude SSLv3. Existing configurations must be adjusted by the
     administrator. [William Rowe]

  *) mod_ssl: Add support for extracting subjectAltName entries of type
     rfc822Name and dNSName into SSL_{CLIENT,SERVER}_SAN_{Email,DNS}_n
     environment variables. Also addresses PR 57207. [Kaspar Brand]

  *) dav_validate_request: avoid validating locks and ETags when there are
     no If headers providing them on a resource we aren't modifying.
     [Ben Reser]

  *) mod_proxy_scgi: ProxySCGIInternalRedirect now allows an alternate
     response header to be used by the application, for when the application
     or framework is unable to return Location in the internal-redirect
     form.  [Jeff Trawick]

  *) core: Cleanup the request soon/even if some output filter fails to
     handle the EOR bucket.  [Yann Ylavic]

  *) mpm_event: Allow for timer events duplicates. [Jim Jagielski, Yann Ylavic]

  *) mod_proxy, mod_ssl, mod_cache_socache, mod_socache_*: Support machine
     readable server-status produced when using the "?auto" query string.
     [Rainer Jung]

  *) mod_status: Add more data to machine readable server-status produced
     when using the "?auto" query string.  [Rainer Jung]

  *) mod_ssl: Check for the Entropy Gathering Daemon (EGD) availability at
     configure time (RAND_egd), and complain if SSLRandomSeed requires using
     it otherwise.  [Bernard Spil <pil.oss gmail com>, Stefan Sperling,
     Kaspar Brand]

  *) mod_ssl: make sure to consistently output SSLCertificateChainFile
     deprecation warnings, when encountered in a VirtualHost block.
     [Falco Schwarz <hiding falco.me>]

  *) mod_log_config: Add "%{UNIT}T" format to output request duration in
     seconds, milliseconds or microseconds depending on UNIT ("s", "ms", "us").
     [Ben Reser, Rainer Jung]

  *) Allow FallbackResource to work when a directory is requested and
     there is no autoindex nor DirectoryIndex. 
     [Jack <tjerk.meesters gmail.com>, Eric Covener]

  *) mod_proxy_wstunnel: Bypass the handler while the connection is not
     upgraded to WebSocket, so that other modules can possibly take over
     the leading HTTP requests.  [Yann Ylavic]

  *) mod_http: Fix incorrect If-Match handling. PR 57358
     [Kunihiko Sakamoto <ksakamoto google.com>]

  *) mod_ssl: Add a warning if protocol given in SSLProtocol or SSLProxyProtocol
     will override other parameters given in the same directive. This could be
     a missing + or - prefix.  PR 52820 [Christophe Jaillet]

  *) core, modules: Avoid error response/document handling by the core if some
     handler or input filter already did it while reading the request (causing
     a double response body).  [Yann Ylavic]

  *) mod_proxy_ajp: Fix client connection errors handling and logged status
     when it occurs.  PR 56823.  [Yann Ylavic]

  *) mod_proxy: Use the correct server name for SNI in case the backend
     SSL connection itself is established via a proxy server.
     PR 57139 [Szabolcs Gyurko <szabolcs gyurko.org>]

  *) mod_ssl: Fix possible crash when loading server certificate constraints.
     PR 57694. [Paul Spangler <paul.spangler ni com>, Yann Ylavic]

  *) build: Don't load both mod_cgi and mod_cgid in the default configuration
     if they're both built.  [olli hauer <ohauer gmx.de>]

  *) mod_logio: Add LogIOTrackTTFB and %^FB logformat to log the time 
     taken to start writing response headers. [Eric Covener]

  *) mod_ssl: Avoid compilation errors with LibreSSL related to
     the use of ENGINE_CTRL_CHIL_SET_FORKCHECK. 
     [Stuart Henderson <sthen openbsd.org>]

  *) mod_proxy_http: Use the "Connection: close" header for requests to
     backends not recycling connections (disablereuse), including the default
     reverse and forward proxies.  [Yann Ylavic]

  *) mod_proxy: Add ap_connection_reusable() for checking if a connection
     is reusable as of this point in processing.  [Jeff Trawick]

  *) mod_proxy_wstunnel: Avoid an empty response by failing with 502 (Bad
     Gateway) when no response is ever received from the backend.
     [Jan Kaluza]

  *) core_filters: Restore/disable TCP_NOPUSH option after non-blocking
     sendfile.  [Yann Ylavic]

  *) mod_buffer: Forward flushed input data immediately and avoid (unlikely)
     access to freed memory. [Yann Ylavic, Christophe Jaillet]

  *) core: Add CGIPassAuth directive to control whether HTTP authorization
     headers are passed to scripts as CGI variables.  PR 56855.  [Jeff 
     Trawick]

  *) core: Initialize scoreboard's used optional functions on graceful restarts
     to avoid a crash when relocation occurs.  PR 57177.  [Yann Ylavic]

  *) mod_dav: Avoid a potential integer underflow in the lock timeout value sent
     back to a client. The answer to a LOCK request could be an extremly large
     integer if the time needed to lock the resource was longer that the
     requested timeout given in the LOCK request. In such a case, we now answer
     "Second-0".  PR55420
     [Christophe Jaillet]

  *) mod_cgid: Within the first minute of a server start or restart, 
     allow mod_cgid to retry connecting to its daemon process. Previously,
     'No such file or directory: unable to connect to cgi daemon...' could
     be logged without an actual retry. PR57685. 
     [Edward Lu <Chaosed0 gmail.com>]

  *) mod_proxy: Use the original (non absolute) form of the request-line's URI
     for requests embedded in CONNECT payloads used to connect SSL backends via
     a ProxyRemote forward-proxy.  PR 55892.  [Hendrik Harms <hendrik.harms
     gmail com>, William Rowe, Yann Ylavic]

  *) http: Make ap_die() robust against any HTTP error code and not modify
     response status (finally logged) when nothing is to be done. PR 56035.
     [Yann Ylavic]

  *) mod_proxy_connect/wstunnel: If both client and backend sides get readable
     at the same time, don't lose errors occurring while forwarding on the first
     side when none occurs next on the other side, and abort.  [Yann Ylavic]

  *) mod_rewrite: Improve relative substitutions in per-directory/htaccess
     context for directories found by mod_userdir and mod_alias.  These no
     longer require RewriteBase to be specified. [Eric Covener]

  *) mod_proxy_http: Don't expect the backend to ack the "Connection: close" to
     finally close those not meant to be kept alive by SetEnv proxy-nokeepalive
     or force-proxy-request-1.0.  [Yann Ylavic]

  *) core: If explicitly configured, use the KeepaliveTimeout value of the
     virtual host which handled the latest request on the connection, or by
     default the one of the first virtual host bound to the same IP:port.
     PR56226.  [Yann Ylavic]

  *) mod_lua: After a r:wsupgrade(), mod_lua was not properly
     responding to a websockets PING but instead invoking the specified 
     script. PR57524. [Edward Lu <Chaosed0 gmail.com>]

  *) mod_ssl: Add the SSL_CLIENT_CERT_RFC4523_CEA variable, which provides
     a combination of certificate serialNumber and issuer as defined by
     CertificateExactMatch in RFC4523. [Graham Leggett]

  *) core: Add expression support to ErrorDocument. Switch from a fixed
     sized 664 byte array per merge to a hash table. [Graham Leggett]

  *) ab: Add missing longest request (100%) to CSV export.
     [Marcin Fabrykowski <bugzilla fabrykowski.pl>] 

  *) mod_macro: Clear macros before initialization to avoid use-after-free
     on startup or restart when the module is linked statically. PR 57525
     [apache.org tech.futurequest.net, Yann Ylavic]

  *) mod_alias: Introduce expression parser support for Alias, ScriptAlias
     and Redirect. [Graham Leggett]

  *) mod_ssl: 'SSLProtocol ALL' was being ignored in virtual host context. 
     PR 57100.  [Michael Kaufmann <apache-bugzilla michael-kaufmann.ch>,
     Yann Ylavic]

  *) mpm_event: Avoid access to the scoreboard from the connection while
     it is suspended (waiting for events).  [Eric Covener, Jeff Trawick]

  *) mod_ssl: Fix renegotiation failures redirected to an ErrorDocument.
     PR 57334.  [Yann Ylavic].

  *) mod_deflate: A misplaced check prevents limiting small bodies with the
     new inflate limits. PR56872. [Edward Lu, Eric Covener, Yann Ylavic]

  *) mod_proxy_ajp: Forward SSL protocol name (SSLv3, TLSv1.1 etc.) as a
     request attribute to the backend. Recent Tomcat versions will extract
     it and provide it as a servlet request attribute named
     "org.apache.tomcat.util.net.secure_protocol_version". [Rainer Jung]

  *) core: Optimize string concatenation in expression parser when evaluating
     a string expression. [Rainer Jung]

  *) acinclude.m4: Generate #LoadModule directive in default httpd.conf for
     every --enable-mpms-shared. PR 53882.  [olli hauer <ohauer gmx.de>,
     Yann Ylavic]

  *) mod_authn_dbd: Fix the error message logged in case of error while querying
     the database. This is associated to AH01656 and AH01661. [Christophe Jaillet]

  *) mod_authz_groupfile: Reduce the severity of AH01667 from ERROR to DEBUG,
     because it may be evaluated inside <RequireAny>. PR55523. [Eric Covener] 

  *) mod_ssl: Fix small memory leak during initialization when ECDH is used.
     [Jan Kaluza]

Changes with Apache 2.4.12

  *) mpm_winnt: Accept utf-8 (Unicode) service names and descriptions for
     internationalization.  [William Rowe]

  *) mpm_winnt: Normalize the error and status messages emitted by service.c,
     the service control interface for Windows.  [William Rowe]

  *) configure: Fix --enable-v4-mapped configuration on *BSD. PR 53824.
     [ olli hauer <ohauer gmx.de>, Yann Ylavic ]

  *) Reverted <DirectoryMatch > behavior regression introduced in 2.4.11
     (not released).

Changes with Apache 2.4.11 (not released)

  *) SECURITY: CVE-2014-3583 (cve.mitre.org)
     mod_proxy_fcgi: Fix a potential crash due to buffer over-read, with 
     response headers' size above 8K.  [Yann Ylavic, Jeff Trawick]

  *) SECURITY: CVE-2014-3581 (cve.mitre.org)
     mod_cache: Avoid a crash when Content-Type has an empty value.
     PR 56924.  [Mark Montague <mark catseye.org>, Jan Kaluza]

  *) SECURITY: CVE-2014-8109 (cve.mitre.org)
     mod_lua: Fix handling of the Require line when a LuaAuthzProvider is
     used in multiple Require directives with different arguments.
     PR57204 [Edward Lu <Chaosed0 gmail.com>]

  *) SECURITY: CVE-2013-5704 (cve.mitre.org)
     core: HTTP trailers could be used to replace HTTP headers
     late during request processing, potentially undoing or
     otherwise confusing modules that examined or modified
     request headers earlier.  Adds "MergeTrailers" directive to restore
     legacy behavior.  [Edward Lu, Yann Ylavic, Joe Orton, Eric Covener]

  *) mod_ssl: New directive SSLSessionTickets (On|Off).
     The directive controls the use of TLS session tickets (RFC 5077),
     default value is "On" (unchanged behavior).
     Session ticket creation uses a random key created during web
     server startup and recreated during restarts. No other key
     recreation mechanism is available currently. Therefore using session
     tickets without restarting the web server with an appropriate frequency
     (e.g. daily) compromises perfect forward secrecy. [Rainer Jung]

  *) mod_proxy_fcgi: Provide some basic alternate options for specifying 
     how PATH_INFO is passed to FastCGI backends by adding significance to
     the value of proxy-fcgi-pathinfo. PR 55329. [Eric Covener]

  *) mod_proxy_fcgi: Enable UDS backends configured with SetHandler/RewriteRule
     to opt-in to connection reuse and other Proxy options via explicitly
     declared "proxy workers" (<Proxy unix:... enablereuse=on max=...)
     [Eric Covener]

  *) mod_proxy: Add "enablereuse" option as the inverse of "disablereuse".
     [Eric Covener]

  *) mod_proxy_fcgi: Enable opt-in to TCP connection reuse by explicitly
     setting proxy option disablereuse=off. [Eric Covener] PR 57378.

  *) event: Update the internal "connection id" when requests
     move from thread to thread. Reuse can confuse modules like
     mod_cgid. PR 57435. [Michael Thorpe <mike gistnet.com>]

  *) mod_proxy_fcgi: Remove proxy:balancer:// prefix from SCRIPT_FILENAME
     passed to fastcgi backends. [Eric Covener]

  *) core: Configuration files with long lines and continuation characters
     are not read properly. PR 55910. [Manuel Mausz <manuel-as mausz.at>]

  *) mod_include: the 'env' function was incorrectly handled as 'getenv' if the
     leading 'e' was written in upper case in <!--#if expr="..." -->
     statements. [Christophe Jaillet]

  *) split-logfile: Fix perl error:  'Can't use string ("example.org:80") 
     as a symbol ref while "strict refs"'. PR 56329.
     [Holger Mauermann <mauermann gmail.com>]

  *) mod_proxy: Prevent ProxyPassReverse from doing a substitution when
     the URL parameter interpolates to an empty string. PR 56603.
     [<ajprout hotmail.com>]

  *) core: Fix -D[efined] or <Define>[d] variables lifetime across restarts. 
     PR 57328.  [Armin Abfalterer <a.abfalterer gmail.com>, Yann Ylavic].

  *) mod_proxy: Preserve original request headers even if they differ
     from the ones to be forwarded to the backend. PR 45387.
     [Yann Ylavic]

  *) mod_ssl: dump SSL IO/state for the write side of the connection(s),
     like reads (level TRACE4). [Yann Ylavic]

  *) mod_proxy_fcgi: Ignore body data from backend for 304 responses. PR 57198.
     [Jan Kaluza]

  *) mod_ssl: Do not crash when looking up SSL related variables during
     expression evaluation on non SSL connections. PR 57070  [Ruediger Pluem]

  *) mod_proxy_ajp: Fix handling of the default port (8009) in the
     ProxyPass and <Proxy> configurations.  PR 57259.  [Yann Ylavic]

  *) mpm_event: Avoid a possible use after free when notifying the end of
     connection during lingering close.  PR 57268.  [Eric Covener, Yann Ylavic]

  *) mod_ssl: Fix recognition of OCSP stapling responses that are encoded
     improperly or too large.  [Jeff Trawick]

  *) core: Add ap_log_data(), ap_log_rdata(), etc. for logging buffers.
     [Jeff Trawick]

  *) mod_proxy_fcgi, mod_authnz_fcgi: stop reading the response and issue an
     error when parsing or forwarding the response fails. [Yann Ylavic]

  *) mod_ssl: Fix a memory leak in case of graceful restarts with OpenSSL >= 0.9.8e
     PR 53435 [tadanori <tadanori2007 yahoo.com>, Sebastian Wiedenroth <wiedi frubar.net>]

  *) mod_proxy_connect: Don't issue AH02447 on sockets hangups, let the read
     determine whether it is a normal close or a real error. PR 57168. [Yann
     Ylavic]

  *) mod_proxy_wstunnel: abort backend connection on polling error to avoid
     further processing.  [Yann Ylavic]

  *) core: Support custom ErrorDocuments for HTTP 501 and 414 status codes.
     PR 57167 [Edward Lu <Chaosed0 gmail.com>]

  *) mod_proxy_connect: Fix ProxyRemote to https:// backends on EBCDIC 
     systems. PR 57092 [Edward Lu <Chaosed0 gmail.com>]

  *) mod_cache: Avoid a 304 response to an unconditional requst when an AH00752
     CacheLock error occurs during cache revalidation. [Eric Covener]

  *) mod_ssl: Move OCSP stapling information from a per-certificate store to
     a per-server hash. PR 54357, PR 56919. [Alex Bligh <alex alex.org.uk>,
     Yann Ylavic, Kaspar Brand]

  *) mod_cache_socache: Change average object size hint from 32 bytes to
     2048 bytes.  [Rainer Jung]

  *) mod_cache_socache: Add cache status to server-status.  [Rainer Jung]

  *) event: Fix worker-listener deadlock in graceful restart.
     PR 56960.

  *) Concat strings at compile time when possible. PR 53741.

  *) mod_substitute: Restrict configuration in .htaccess to
     FileInfo as documented.  [Rainer Jung]

  *) mod_substitute: Make maximum line length configurable.  [Rainer Jung]

  *) mod_substitute: Fix line length limitation in case of regexp plus flatten.
     [Rainer Jung]

  *) mod_proxy: Truncated character worker names are no longer fatal
     errors. PR53218. [Jim Jagielski]

  *) mod_dav: Set r->status_line in dav_error_response. PR 55426.

  *) mod_proxy_http, mod_cache: Avoid (unlikely) accesses to freed memory.
     [Yann Ylavic, Christophe Jaillet]

  *) http_protocol: fix logic in ap_method_list_(add|remove) in order:
       - to correctly reset bits
       - not to modify the 'method_mask' bitfield unnecessarily
     [Christophe Jaillet]

  *) mod_slotmem_shm: Increase log level for some originally debug messages.
     [Jim Jagielski]

  *) mod_ldap: In 2.4.10, some LDAP searches or comparisons might be done with
     the wrong credentials when a backend connection is reused.
     [Eric Covener]

  *) mod_macro: Add missing APLOGNO for some Warning log messages.
     [Christophe Jaillet]

  *) mod_cache: Avoid sending 304 responses during failed revalidations
     PR56881. [Eric Covener]

  *) mod_status: Honor client IP address using mod_remoteip. PR 55886.
     [Jim Jagielski]

  *) cmake-based build for Windows: Fix incompatibility with cmake 2.8.12
     and later.  PR 56615.  [Chuck Liu <cliu81 gmail.com>, Jeff Trawick]

  *) mod_ratelimit: Drop severity of AH01455 and AH01457 (ap_pass_brigade
     failed) messages from ERROR to TRACE1.  Other filters do not bother 
     re-reporting failures from lower level filters.  PR56832.  [Eric Covener]

  *) core: Avoid useless warning message when parsing a section guarded by
     <IfDefine foo> if $(foo) is used within the section.
     PR 56503 [Christophe Jaillet]

  *) mod_proxy_fcgi: Fix faulty logging of large amounts of stderr from the
     application.  PR 56858.  [Manuel Mausz <manuel-asf mausz.at>]

  *) mod_proxy_http: Proxy responses with error status and
     "ProxyErrorOverride On" hang until proxy timeout.
     PR53420 [Rainer Jung]

  *) mod_log_config: Allow three character log formats to be registered. For
     backwards compatibility, the first character of a three-character format
     must be the '^' (caret) character.  [Eric Covener]

  *) mod_lua: Don't quote Expires and Path values. PR 56734.
     [Keith Mashinter, <kmashint yahoo com>]

  *) mod_authz_core: Allow <AuthzProviderAlias>'es to be seen from auth
     stanzas under virtual hosts. PR 56870. [Eric Covener]

Changes with Apache 2.4.10

  *) SECURITY: CVE-2014-0117 (cve.mitre.org)
     mod_proxy: Fix crash in Connection header handling which allowed a denial
     of service attack against a reverse proxy with a threaded MPM.
     [Ben Reser]

  *) SECURITY: CVE-2014-3523 (cve.mitre.org)
     Fix a memory consumption denial of service in the WinNT MPM, used in all
     Windows installations. Workaround: AcceptFilter <protocol> {none|connect}
     [Jeff Trawick]

  *) SECURITY: CVE-2014-0226 (cve.mitre.org)
     Fix a race condition in scoreboard handling, which could lead to
     a heap buffer overflow.  [Joe Orton, Eric Covener]

  *) SECURITY: CVE-2014-0118 (cve.mitre.org)
     mod_deflate: The DEFLATE input filter (inflates request bodies) now
     limits the length and compression ratio of inflated request bodies to
     avoid denial of service via highly compressed bodies.  See directives
     DeflateInflateLimitRequestBody, DeflateInflateRatioLimit,
     and DeflateInflateRatioBurst. [Yann Ylavic, Eric Covener]

  *) SECURITY: CVE-2014-0231 (cve.mitre.org)
     mod_cgid: Fix a denial of service against CGI scripts that do
     not consume stdin that could lead to lingering HTTPD child processes
     filling up the scoreboard and eventually hanging the server.  By
     default, the client I/O timeout (Timeout directive) now applies to
     communication with scripts.  The CGIDScriptTimeout directive can be
     used to set a different timeout for communication with scripts.
     [Rainer Jung, Eric Covener, Yann Ylavic]

  *) mod_ssl: Extend the scope of SSLSessionCacheTimeout to sessions
     resumed by TLS session resumption (RFC 5077). [Rainer Jung]

  *) mod_deflate: Don't fail when flushing inflated data to the user-agent
     and that coincides with the end of stream ("Zlib error flushing inflate
     buffer"). PR 56196. [Christoph Fausak <christoph fausak glueckkanja.com>]

  *) mod_proxy_ajp: Forward local IP address as a custom request attribute
     like we already do for the remote port. [Rainer Jung]

  *) core: Include any error notes set by modules in the canned error
     response for 403 errors.  [Jeff Trawick]

  *) mod_ssl: Set an error note for requests rejected due to
     SSLStrictSNIVHostCheck.  [Jeff Trawick]

  *) mod_ssl: Fix issue with redirects to error documents when handling
     SNI errors.  [Jeff Trawick]

  *) mod_ssl: Fix tmp DH parameter leak, adjust selection to prefer
     larger keys and support up to 8192-bit keys.  [Ruediger Pluem,
     Joe Orton]

  *) mod_dav: Fix improper encoding in PROPFIND responses.  PR 56480.
     [Ben Reser]

  *) WinNT MPM: Improve error handling for termination events in child.
     [Jeff Trawick]

  *) mod_proxy: When ping/pong is configured for a worker, don't send or
     forward "100 Continue" (interim) response to the client if it does
     not expect one. [Yann Ylavic]

  *) mod_ldap: Be more conservative with the last-used time for
     LDAPConnectionPoolTTL. PR54587 [Eric Covener]

  *) mod_ldap: LDAP connections used for authn were not respecting
     LDAPConnectionPoolTTL. PR54587 [Eric Covener]

  *) mod_proxy_fcgi: Fix occasional high CPU when handling request bodies.
     [Jeff Trawick]

  *) event MPM: Fix possible crashes (third-party modules accessing c->sbh) 
     or occasional missed mod_status updates under load. PR 56639.
     [Edward Lu <Chaosed0 gmail com>]

  *) mod_authnz_ldap: Support primitive LDAP servers do not accept
     filters, such as "SDBM-backed LDAP" on z/OS, by allowing a special
     filter "none" to be specified in AuthLDAPURL. [Eric Covener]

  *) mod_deflate: Fix inflation of files larger than 4GB. PR 56062.
     [Lukas Bezdicka <social v3.sk>]

  *) mod_deflate: Handle Zlib header and validation bytes received in multiple
     chunks. PR 46146. [Yann Ylavic]

  *) mod_proxy: Allow reverse-proxy to be set via explicit handler.
     [ryo takatsuki <ryotakatsuki gmail com>]

  *) ab: support custom HTTP method with -m argument. PR 56604.
     [Roman Jurkov <winfinit gmail.com>]

  *) mod_proxy_balancer: Correctly encode user provided data in management
     interface. PR 56532 [Maksymilian, <max cert.cx>]

  *) mod_proxy: Don't limit the size of the connectable Unix Domain Socket
     paths. [Graham Dumpleton, Christophe Jaillet, Yann Ylavic]

  *) mod_proxy_fcgi: Support iobuffersize parameter.  [Jeff Trawick]

  *) event: Send the SSL close notify alert when the KeepAliveTimeout
     expires. PR54998. [Yann Ylavic] 

  *) mod_ssl: Ensure that the SSL close notify alert is flushed to the client.
     PR54998. [Tim Kosse <tim.kosse filezilla-project.org>, Yann Ylavic] 

  *) mod_proxy: Shutdown (eg. SSL close notify) the backend connection before
     closing. [Yann Ylavic] 

  *) mod_auth_form: Add a debug message when the fields on a form are not
     recognised. [Graham Leggett]

  *) mod_cache: Preserve non-cacheable headers forwarded from an origin 304
     response. PR 55547.  [Yann Ylavic]

  *) mod_proxy_wstunnel: Fix the use of SSL connections with the "wss:"
     scheme. PR55320. [Alex Liu <alex.leo.ca gmail.com>]

  *) mod_socache_shmcb: Correct counting of expirations for status display.
     Expirations happening during retrieval were not counted. [Rainer Jung]

  *) mod_cache: Retry unconditional request with the full URL (including the
     query-string) when the origin server's 304 response does not match the
     conditions used to revalidate the stale entry.  [Yann Ylavic].

  *) mod_alias: Stop setting CONTEXT_PREFIX and CONTEXT_DOCUMENT environment
     variables as a result of AliasMatch. [Eric Covener]

  *) mod_cache: Don't add cached/revalidated entity headers to a 304 response.
     PR 55547.  [Yann Ylavic]

  *) mod_proxy_scgi: Support Unix sockets.  ap_proxy_port_of_scheme():
     Support default SCGI port (4000).  [Jeff Trawick]

  *) mod_cache: Fix AH00784 errors on Windows when the the CacheLock directive
     is enabled.  [Eric Covener]

  *) mod_expires: don't add Expires header to error responses (4xx/5xx),
     be they generated or forwarded. PR 55669.  [Yann Ylavic]

  *) mod_proxy_fcgi: Don't segfault when failing to connect to the backend.
     (regression in 2.4.9 release) [Jeff Trawick]

  *) mod_authn_socache: Fix crash at startup in certain configurations.
     PR 56371. (regression in 2.4.7) [Jan Kaluza]

  *) mod_ssl: restore argument structure for "exec"-type SSLPassPhraseDialog
     programs to the form used in releases up to 2.4.7, and emulate
     a backwards-compatible behavior for existing setups. [Kaspar Brand]

  *) mod_ssl: Add SSLOCSPUseRequestNonce directive to control whether or not
     OCSP requests should use a nonce to be checked against the responder's
     one. PR 56233. [Yann Ylavic, Kaspar Brand]

  *) mod_ssl: "SSLEngine off" will now override a Listen-based default
     and does disable mod_ssl for the vhost.  [Joe Orton]

  *) mod_lua: Enforce the max post size allowed via r:parsebody()
     [Daniel Gruno]

  *) mod_lua: Use binary comparison to find boundaries for multipart 
     objects, as to not terminate our search prematurely when hitting
     a NULL byte. [Daniel Gruno]

  *) mod_ssl: add workaround for SSLCertificateFile when using OpenSSL
     versions before 0.9.8h and not specifying an SSLCertificateChainFile
     (regression introduced with 2.4.8). PR 56410. [Kaspar Brand]

  *) mod_ssl: bring SNI behavior into better conformance with RFC 6066:
     no longer send warning-level unrecognized_name(112) alerts,
     and limit startup warnings to cases where an OpenSSL version
     without TLS extension support is used. PR 56241. [Kaspar Brand]

  *) mod_proxy_html: Avoid some possible memory access violation in case of
     specially crafted files, when the ProxyHTMLMeta directive is turned on.
     Follow up of PR 56287 [Christophe Jaillet]

  *) mod_auth_form: Make sure the optional functions are loaded even when
     the AuthFormProvider isn't specified. [Graham Leggett]

  *) mod_ssl: avoid processing bogus SSLCertificateKeyFile values
     (and logging garbled file names). PR 56306. [Kaspar Brand]

  *) mod_ssl: fix merging of global and vhost-level settings with the
     SSLCertificateFile, SSLCertificateKeyFile, and SSLOpenSSLConfCmd
     directives. PR 56353. [Kaspar Brand]

  *) mod_headers: Allow the "value" parameter of Header and RequestHeader to 
     contain an ap_expr expression if prefixed with "expr=". [Eric Covener]

  *) rotatelogs: Avoid creation of zombie processes when -p is used on
     Unix platforms.  [Joe Orton]

  *) mod_authnz_fcgi: New module to enable FastCGI authorizer
     applications to authenticate and/or authorize clients.
     [Jeff Trawick]

  *) mod_proxy: Do not try to parse the regular expressions passed by
     ProxyPassMatch as URL as they do not follow their syntax.
     PR 56074. [Ruediger Pluem]

  *) mod_reqtimeout: Resolve unexpected timeouts on keepalive requests 
     under the Event MPM. PR56216.  [Frank Meier <frank meier ergon ch>]

  *) mod_proxy_fcgi: Fix sending of response without some HTTP headers
     that might be set by filters.  PR 55558. [Jim Riggs <jim riggs.me>]

  *) mod_proxy_html: Do not delete the wrong data from HTML code when a
     "http-equiv" meta tag specifies a Content-Type behind any other
     "http-equiv" meta tag. PR 56287 [Micha Lenk <micha lenk info>]

  *) mod_proxy: Don't reuse a SSL backend connection whose requested SNI
     differs. PR 55782.  [Yann Ylavic]

  *) Add suspend_connection and resume_connection hooks to notify modules
     when the thread/connection relationship changes.  (Should be implemented
     for any third-party async MPMs.)  [Jeff Trawick]

  *) mod_proxy_wstunnel: Don't issue AH02447 and log a 500 on routine 
     hangups from websockets origin servers. PR 56299
     [Yann Ylavic, Edward Lu <Chaosed0 gmail com>, Eric Covener] 

  *) mod_proxy_wstunnel: Don't pool backend websockets connections,
     because we need to handshake every time. PR 55890.
     [Eric Covener]

  *) mod_lua: Redesign how request record table access behaves,
     in order to utilize the request record from within these tables.
     [Daniel Gruno]

  *) mod_lua: Add r:wspeek for peeking at WebSocket frames. [Daniel Gruno]

  *) mod_lua: Log an error when the initial parsing of a Lua file fails.
     [Daniel Gruno, Felipe Daragon <filipe syhunt com>]

  *) mod_lua: Reformat and escape script error output.
     [Daniel Gruno, Felipe Daragon <filipe syhunt com>]

  *) mod_lua: URL-escape cookie keys/values to prevent tainted cookie data
     from causing response splitting.
     [Daniel Gruno, Felipe Daragon <filipe syhunt com>]

  *) mod_lua: Disallow newlines in table values inside the request_rec, 
     to prevent HTTP Response Splitting via tainted headers.
     [Daniel Gruno, Felipe Daragon <filipe syhunt com>]

  *) mod_lua: Remove the non-working early/late arguments for 
     LuaHookCheckUserID. [Daniel Gruno]

  *) mod_lua: Change IVM storage to use shm [Daniel Gruno]

  *) mod_lua: More verbose error logging when a handler function cannot be
     found. [Daniel Gruno]

Changes with Apache 2.4.9

  *) mod_ssl: Work around a bug in some older versions of OpenSSL that
     would cause a crash in SSL_get_certificate for servers where the
     certificate hadn't been sent. [Stephen Henson]

  *) mod_lua: Add a fixups hook that checks if the original request is intended 
     for LuaMapHandler. This fixes a bug where FallbackResource invalidates the 
     LuaMapHandler directive in certain cases by changing the URI before the map 
     handler code executes [Daniel Gruno, Daniel Ferradal <dferradal gmail com>].

Changes with Apache 2.4.8 (not released)

  *) SECURITY: CVE-2014-0098 (cve.mitre.org)
     Clean up cookie logging with fewer redundant string parsing passes.
     Log only cookies with a value assignment. Prevents segfaults when
     logging truncated cookies.
     [William Rowe, Ruediger Pluem, Jim Jagielski]

  *) SECURITY: CVE-2013-6438 (cve.mitre.org)
     mod_dav: Keep track of length of cdata properly when removing
     leading spaces. Eliminates a potential denial of service from
     specifically crafted DAV WRITE requests
     [Amin Tora <Amin.Tora neustar.biz>]

  *) core: Support named groups and backreferences within the LocationMatch,
     DirectoryMatch, FilesMatch and ProxyMatch directives. (Requires
     non-ancient PCRE library) [Graham Leggett]

  *) core: draft-ietf-httpbis-p1-messaging-23 corrections regarding
     TE/CL conflicts. [Yann Ylavic, Jim Jagielski]

  *) core: Detect incomplete request and response bodies, log an error and
     forward it to the underlying filters. PR 55475 [Yann Ylavic]

  *) mod_dir: Add DirectoryCheckHandler to allow a 2.2-like behavior, skipping 
     execution when a handler is already set. PR53929. [Eric Covener]

  *) mod_ssl: Do not perform SNI / Host header comparison in case of a
     forward proxy request. [Ruediger Pluem]