You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by ic...@apache.org on 2015/11/19 18:14:04 UTC
svn commit: r1715218 [1/4] - in /httpd/httpd/branches/2.4-http2-alpha: ./
docs/manual/mod/ modules/aaa/ modules/http2/ modules/ssl/ server/
Author: icing
Date: Thu Nov 19 17:14:03 2015
New Revision: 1715218
URL: http://svn.apache.org/viewvc?rev=1715218&view=rev
Log:
latest changes from trunk re mod_http2
Added:
httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_push.c
httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_push.h
Modified:
httpd/httpd/branches/2.4-http2-alpha/ (props changed)
httpd/httpd/branches/2.4-http2-alpha/CHANGES
httpd/httpd/branches/2.4-http2-alpha/STATUS
httpd/httpd/branches/2.4-http2-alpha/docs/manual/mod/core.html.fr
httpd/httpd/branches/2.4-http2-alpha/docs/manual/mod/core.xml.fr
httpd/httpd/branches/2.4-http2-alpha/docs/manual/mod/core.xml.meta
httpd/httpd/branches/2.4-http2-alpha/docs/manual/mod/mod_ssl.html.fr
httpd/httpd/branches/2.4-http2-alpha/docs/manual/mod/mod_ssl.xml.fr
httpd/httpd/branches/2.4-http2-alpha/docs/manual/mod/mod_ssl.xml.meta
httpd/httpd/branches/2.4-http2-alpha/docs/manual/mod/quickreference.html.fr
httpd/httpd/branches/2.4-http2-alpha/modules/aaa/mod_authn_anon.c
httpd/httpd/branches/2.4-http2-alpha/modules/aaa/mod_authnz_ldap.c
httpd/httpd/branches/2.4-http2-alpha/modules/http2/config.m4
httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_bucket_eoc.c
httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_bucket_eos.c
httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_config.c
httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_config.h
httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_conn.c
httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_conn.h
httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_conn_io.c
httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_conn_io.h
httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_from_h1.c
httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_from_h1.h
httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_h2.c
httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_h2.h
httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_io.c
httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_io.h
httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_mplx.c
httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_mplx.h
httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_request.c
httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_request.h
httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_response.c
httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_response.h
httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_session.c
httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_session.h
httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_stream.c
httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_stream.h
httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_stream_set.c
httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_stream_set.h
httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_switch.c
httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_task.c
httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_task.h
httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_task_input.c
httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_task_output.c
httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_task_output.h
httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_task_queue.c
httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_task_queue.h
httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_util.c
httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_util.h
httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_version.h
httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_worker.c
httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_worker.h
httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_workers.c
httpd/httpd/branches/2.4-http2-alpha/modules/http2/mod_http2.dsp
httpd/httpd/branches/2.4-http2-alpha/modules/ssl/ssl_engine_io.c
httpd/httpd/branches/2.4-http2-alpha/modules/ssl/ssl_private.h
httpd/httpd/branches/2.4-http2-alpha/server/core.c
Propchange: httpd/httpd/branches/2.4-http2-alpha/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Nov 19 17:14:03 2015
@@ -1,6 +1,6 @@
-/httpd/httpd/branches/2.4.17-protocols-changes:1712542-1712568
+/httpd/httpd/branches/2.4.17-protocols-changes:1712542-1715214
/httpd/httpd/branches/2.4.17-protocols-http2:1701609-1705681
-/httpd/httpd/branches/2.4.x:1710199-1712541
+/httpd/httpd/branches/2.4.x:1710199-1715214
/httpd/httpd/branches/revert-ap-ldap:1150158-1150173
/httpd/httpd/branches/wombat-integration:723609-723841
-/httpd/httpd/trunk:1200475,1200478,1200482,1200491,1200496,1200513,1200550,1200556,1200580,1200605,1200612,1200614,1200639,1200646,1200656,1200667,1200679,1200699,1200702,1200955,1200957,1200961,1200963,1200968,1200975,1200977,1201032,1201042,1201111,1201194,1201198,1201202,1201443,1201450,1201460,1201956,1202236,1202453,1202456,1202886,1203400,1203491,1203632,1203714,1203859,1203980,1204630,1204968,1204990,1205061,1205075,1205379,1205885,1206291,1206472,1206587,1206850,1206940,1206978,1207719,1208753,1208835,1209053,1209085,1209417,1209432,1209461,1209601,1209603,1209618,1209623,1209741,1209754,1209766,1209776,1209797-1209798,1209811-1209812,1209814,1209908,1209910,1209913,1209916-1209917,1209947,1209952,1210067,1210080,1210120,1210124,1210130,1210148,1210219,1210221,1210252,1210284,1210336,1210378,1210725,1210892,1210951,1210954,1211351-1211352,1211364,1211490,1211495,1211528,1211663,1211680,1212872,1212883,1213338,1213380-1213381,1213391,1213399,1213567,1214003,1214005,1214015,12
15514,1220462,1220467,1220493,1220524,1220570,1220768,1220794,1220826,1220846,1221205,1221292,1222335,1222370,1222473,1222915,1222917,1222921,1222930,1223048,1225060,1225197-1225199,1225223,1225380,1225476,1225478,1225791,1225795-1225796,1226339,1226375,1227910,1228700,1228816,1229024,1229059,1229099,1229116,1229134,1229136,1229930,1230286,1231255,1231257,1231442,1231446,1231508,1231510,1231518,1232575,1232594,1232630,1232838,1234180,1234297,1234479,1234511,1234565,1234574,1234642-1234643,1234876,1234899,1235019,1236122,1236701,1237407,1238545,1238768,1239029-1239030,1239071,1239565,1240315,1240470,1240778,1241069,1241071,1242089,1242798,1242967,1243176,1243246,1243797,1243799,1244211,1245717,1290823,1290835,1291819-1291820,1291834,1291840,1292043,1293405,1293534-1293535,1293658,1293678,1293708,1294306,1294349,1294356,1294358,1294372,1294471,1297560,1299718,1299786,1300766,1301111,1301725,1302444,1302483,1302653,1302665,1302674,1303201,1303435,1303827,1304087,1304874-1304875,1305167
,1305586,1306350,1306409,1306426,1306841,1307790,1308327,1308459,1309536,1309567,1311468,1324760,1325218,1325227,1325250,1325265,1325275,1325632,1325724,1326980,1326984,1326991,1327689,1328325-1328326,1328339,1328345,1328950,1330189,1330964,1331110,1331115,1331942,1331977,1332378,1333969,1334343,1335882,1337344,1341906,1341913,1343085,1343087,1343094,1343099,1343109,1343935,1345319,1345329,1346905,1347980,1348036,1348653,1348656,1348660,1349905,1351012-1351020,1351071-1351072,1351074,1351737,1352047,1352534,1352909-1352912,1357685,1358061,1359057,1359881,1359884,1361153,1361298,1361766,1361773,1361778,1361784,1361791-1361792,1361801,1361803,1362020,1362538,1362707,1363035,1363183,1363186,1363312,1363440,1363557,1363589,1363829,1363832,1363836-1363837,1363853,1364133,1364138,1364229,1364601,1364695,1365001,1365020,1365029,1365479,1366319,1366344,1366621,1367778,1367819,1368053,1368058,1368094,1368121,1368131,1368393,1368396,1369419,1369568,1369604,1369618,1369904,1369995,1369999,1370
001,1370466,1370592,1370615-1370616,1370763,1371387,1371791,1371801,1371878,1371903,1373270,1373447,1373898,1373955,1374157,1374199,1374247,1374874,1374877,1374880,1375006,1375009,1375011,1375013,1375584,1376695,1376700,1378178,1383490,1384408,1384913,1386576,1386578,1386726,1386822,1386880,1386913,1387085,1387088,1387110,1387389,1387444,1387603,1387607,1387633,1387693,1387979,1388029,1388445,1388447,1388648,1388660,1388825,1388899,1389316,1389339,1389481,1389506,1389564,1389566-1389569,1390562,1390564,1391396,1391398,1391771,1392120,1392122,1392150,1392214,1392345-1392347,1392850,1393033,1393058,1393152,1393338,1393564,1394079,1395225,1395253-1395256,1395792,1397172,1397320,1397636,1397687,1397710,1397716,1398025,1398040,1398066,1398478,1398480-1398481,1398970,1399413,1399687,1399708,1400700,1401448,1402924,1403476,1403483,1403492,1404653,1405407,1405856,1405973,1406068,1406493,1406495,1406616,1406646,1406760,1407004,1407006,1407085,1407088,1407248,1407381,1407459-1407460,1407528,1
407853,1407965,1408093,1408402,1408958,1408961,1409170,1409437,1409726,1409800,1410681,1410954,1411862,1412278,1413732,1414094,1415008,1415023,1415075,1416121,1416150,1416278,1417197,1417529,1418524,1418556,1418648,1418655,1418703,1418721,1418752,1418769,1419084,1419719,1419726,1419755,1419781,1419796,1420120,1420124,1420149,1420184,1420644,1420685-1420686,1420975,1421288,1421323,1421851,1421912,1421953,1422135,1422549,1422594,1422712,1422855,1422937,1422943,1422980,1423353,1423933,1425360,1425771-1425772,1425775,1425777,1425874,1426850,1426975,1427546,1428184,1428280,1428916,1429228,1429559,1429561,1429564,1429582,1430575,1430814,1430869,1433001,1433613,1433682,1433861,1433988,1435178,1435811,1436058,1436401,1439083,1439106,1439114,1439404,1439623,1442309,1442320,1442326,1442412,1442759,1442865,1447993,1448171,1448453,1451478,1451484,1451633,1451849,1451905,1451921,1452128,1452195,1452259,1452281,1452551,1452911,1452949,1452954,1453022,1453574,1453604,1453875-1453876,1453963,145398
1,1454386,1454414-1454415,1454888,1457437,1457450,1457471,1457504,1457520-1457521,1457610,1457995,1458003-1458004,1458020,1458285,1458447,1458456,1462266,1462269,1462643,1463044-1463047,1463052,1463056,1463455,1463736,1463750,1463754,1464675,1464721,1464762,1465115-1465116,1465190,1467765,1468581,1470183,1470679,1470940,1471449,1475878,1476604,1476621,1476642,1476644-1476645,1476652,1476680,1477094,1477530,1478382,1478748,1479117,1479216,1479222,1479411,1479528,1479905,1479966,1480046,1480627,1481197,1481302,1481306,1481396-1481397,1481891,1482041,1482075,1482170,1482555,1482859,1482996,1483005,1483027,1483190,1484343,1484398,1484832,1484910,1484914,1485409,1485668,1486490,1487528,1487530,1488158,1488164,1488296,1488471,1488492,1488644,1490493,1490507,1490550,1490761,1490994,1491155,1491221,1491234,1491458,1491479,1491538,1491564,1491724,1492663,1492710,1492782,1493330,1493921,1493925,1494536,1495501,1496194,1496338,1496429,1496709,1497371,1497588,1498880,1499679,1500323,1500345,150
0362,1500423,1500437,1500483,1500519,1501294,1501369,1501399,1501913,1502665,1502772,1503680,1503866,1503990-1503991,1504276,1506714,1509872,1509983,1510084-1510085,1510098,1510588,1510707,1511093,1513492,1513508,1514039,1514064,1514214-1514215,1514255,1514267,1514617,1515050,1515162,1515403,1515411,1515420,1517025,1517045,1517175,1517366,1517386,1517388,1518265,1518269,1519475,1520368,1520445,1520760,1520908,1521909,1523235,1523239,1523281,1523387,1524101,1524158,1524192,1524368,1524388,1524770,1525276,1525280-1525281,1525931,1526168,1526189,1526647,1526666,1527008,1527220,1527291,1527294-1527295,1527509,1527925-1527926,1528143,1528718,1529014,1529277,1529449,1529559,1529988,1529991,1530793,1531340,1531370,1531505,1531672,1531961-1531962,1532746,1532816,1533065,1533224,1534321,1534754,1534890,1534892,1536310,1537535,1538490,1540051-1540052,1541181,1541270,1541368,1542338,1542379,1542533,1542562,1542615,1543020,1543147,1543149,1543174,1544381,1544774,1544784,1544812,1544820,1545286,
1545292,1545325,1545364,1545408,1545411,1546692-1546693,1546730,1546759-1546760,1546801,1546804-1546805,1546835-1546836,1547845,1550061,1550302,1550307,1551685,1551714,1551802,1552130,1552227,1553204,1553824,1554161,1554168,1554170,1554175-1554176,1554179,1554181,1554184,1554188,1554192,1554195,1554276,1554281,1554300-1554301,1554994-1554995,1555240,1555259,1555266,1555423-1555424,1555463-1555464,1555467,1555555,1555569,1556206,1556428,1556911-1556912,1556914,1556937,1557317,1557617,1558483,1559351,1559828,1560367,1560546,1560679,1560689,1560729,1560977,1560979,1561137,1561262,1561385,1561660,1561923,1562472,1563193,1563379,1563381,1563417-1563418,1563420,1564052,1564437,1564475,1564756,1564760,1565081,1565711,1568404,1569615,1570288,1570598,1571369,1572092,1572198,1572543,1572561,1572611,1572630,1572655,1572663,1572668-1572671,1572896,1572905,1572911,1572967,1573224,1573229,1573626,1574151,1575400,1576233,1576741,1578760,1578762,1580568,1583005,1583007-1583008,1583027,1583175,15831
91,1584098,1584430,1584434,1584572,1584653,1584658,1584665,1584703,1584878,1584884,1584896,1585054,1585072,1585090,1585435,1585609,1585824,1585918-1585919,1586745,1586827,1587036,1587040,1587053,1587255,1587594,1587639,1587654,1588054,1588065,1588213,1588427,1588519,1588527,1588704,1588851,1588853,1589413,1590437,1590509,1591143,1591320,1591322,1591328,1591390,1591394,1591401,1591472,1591508,1592032,1592037,1592500,1592511,1592514,1592529,1592615,1592632,1593745,1594625,1594643,1594648,1595305,1595321,1595426,1597182,1597349,1597352,1597639,1597642,1598107,1598946,1601076,1601184-1601185,1601274,1601291,1601630,1601919,1601995,1602338,1602978,1602989,1603027,1603029,1603122,1603156,1603915,1604382,1604461,1604631,1605207,1605827,1605829,1607960,1608284,1608785,1608999,1609914,1609936,1609938,1610207,1610311,1610353,1610366,1610491,1610652,1610674,1611165,1611169,1611244,1611600,1611871,1611978,1612068,1615026,1615289,1617018,1618401,1618541,1619297,1619383,1619444,1619835,1620324,16
20461,1620932,1621367,1621372,1621417,1621453,1621806,1622450,1624234,1624349,1625196,1625952,1626050,1626978,1628104,1628918-1628919,1628924,1628950,1629235,1629239,1629244,1629250,1629372,1629440-1629441,1629485,1629507-1629508,1629519,1629577,1629652,1629916,1631885,1632454,1632740,1632742,1633730-1633731,1633793,1634120,1634237,1634425,1634736,1634836,1635510,1635558,1635644-1635645,1635762,1637112,1638072-1638073,1638879,1639614,1640031,1640036,1640040,1640042,1640331,1641077,1641095,1641376,1642099,1642484,1642499,1642847,1642868,1643034,1643284,1643537,1643825,1644245,1646282,1646724,1647035,1648201,1648394,1648433,1648719,1648840,1649001,1649043,1649632,1649966,1650047,1650061,1650309-1650310,1650320,1651088,1652829,1652929,1652931,1652955,1652982,1652985,1652989,1653997,1656669,1657256,1657261,1657636,1657638,1657685,1657881,1657897,1658760,1658765,1661067,1661258,1661448,1661464,1661486,1662245-1662246,1663017,1663647,1664071,1664133,1664205,1664299,1664709,1665215,1665218
,1665625,1665643,1665721,1666297,1666361,1666363,1666468,1666618,1666998,1667385-1667386,1668532,1668535,1668553,1669130,1669289,1669292,1670434,1671364,1671396-1671397,1671918,1672289,1672453,1672466,1672480,1672483,1672564,1672757,1672985,1672989,1673113,1673155,1673368,1673455,1673769,1674056,1674538,1674542,1674606,1674632,1674697,1675103,1675410,1675533,1676085,1676654,1676709,1676842,1677096,1677143-1677146,1677149,1677151,1677153-1677156,1677159,1677339,1677462,1677702,1677830,1677832,1677834-1677835,1678763,1679032,1679181-1679182,1679192,1679428,1679432,1679470,1679620,1679712,1680276,1680895,1680900,1680942,1681037,1681424,1681440,1681685,1681694,1681795,1682482,1682816,1682819,1682907,1682923,1682937,1682979,1682988,1683044,1683047,1683123,1683884,1684057,1684900,1685069,1685339,1685345,1685347,1685349-1685350,1685650,1685659,1685779,1686085,1687539,1687680,1687980,1688274,1688331,1688339-1688341,1688343,1688474-1688475,1688536,1688538,1688660,1689325,1689605,1689694,1689
698,1690120,1690137,1690248,1691374,1691582,1691592,1691819,1691908,1692285,1692432,1692486,1692516,1693792,1693918-1693919,1693963,1694903,1694936,1694950-1694951,1695170,1695727,1695874,1695885,1695920,1696105,1696264,1696266,1696279,1696428,1696442,1696565,1696592,1696607,1696755,1696881,1697013,1697015,1697051,1697323,1697339,1697370,1697389,1697446,1697543,1697634,1697855,1698023,1698103,1698107,1698116,1698133,1698330,1700271,1700275,1700317-1700322,1700326,1700328,1700330-1700332,1700334,1700336,1700338,1700418,1700514,1700777,1700851,1700917,1700925,1700968,1701005,1701145,1701178,1701204,1701347,1701436,1701545,1701717,1702643,1702919,1703152,1703417,1703642,1703807,1703813,1703822,1703871,1703902,1703952,1704099,1704241,1704262,1704797,1704799,1704826,1705099,1705134,1705257,1705749,1705776,1705983,1706627,1706635,1706637,1706640,1706918,1706942,1706989,1707002,1707497,1707519,1707591,1707626-1707627,1707640,1707735,1707831,1707883,1707889,1708107,1708124,1708319,1709008,1
709587,1709596,1709602,1709995,1710185,1710231,1710380,1710391,1710419,1710572,1710583-1710584,1710594,1710597,1710616,1710723,1711648,1712382
+/httpd/httpd/trunk:1200475,1200478,1200482,1200491,1200496,1200513,1200550,1200556,1200580,1200605,1200612,1200614,1200639,1200646,1200656,1200667,1200679,1200699,1200702,1200955,1200957,1200961,1200963,1200968,1200975,1200977,1201032,1201042,1201111,1201194,1201198,1201202,1201443,1201450,1201460,1201956,1202236,1202453,1202456,1202886,1203400,1203491,1203632,1203714,1203859,1203980,1204630,1204968,1204990,1205061,1205075,1205379,1205885,1206291,1206472,1206587,1206850,1206940,1206978,1207719,1208753,1208835,1209053,1209085,1209417,1209432,1209461,1209601,1209603,1209618,1209623,1209741,1209754,1209766,1209776,1209797-1209798,1209811-1209812,1209814,1209908,1209910,1209913,1209916-1209917,1209947,1209952,1210067,1210080,1210120,1210124,1210130,1210148,1210219,1210221,1210252,1210284,1210336,1210378,1210725,1210892,1210951,1210954,1211351-1211352,1211364,1211490,1211495,1211528,1211663,1211680,1212872,1212883,1213338,1213380-1213381,1213391,1213399,1213567,1214003,1214005,1214015,12
15514,1220462,1220467,1220493,1220524,1220570,1220768,1220794,1220826,1220846,1221205,1221292,1222335,1222370,1222473,1222915,1222917,1222921,1222930,1223048,1225060,1225197-1225199,1225223,1225380,1225476,1225478,1225791,1225795-1225796,1226339,1226375,1227910,1228700,1228816,1229024,1229059,1229099,1229116,1229134,1229136,1229930,1230286,1231255,1231257,1231442,1231446,1231508,1231510,1231518,1232575,1232594,1232630,1232838,1234180,1234297,1234479,1234511,1234565,1234574,1234642-1234643,1234876,1234899,1235019,1236122,1236701,1237407,1238545,1238768,1239029-1239030,1239071,1239565,1240315,1240470,1240778,1241069,1241071,1242089,1242798,1242967,1243176,1243246,1243797,1243799,1244211,1245717,1290823,1290835,1291819-1291820,1291834,1291840,1292043,1293405,1293534-1293535,1293658,1293678,1293708,1294306,1294349,1294356,1294358,1294372,1294471,1297560,1299718,1299786,1300766,1301111,1301725,1302444,1302483,1302653,1302665,1302674,1303201,1303435,1303827,1304087,1304874-1304875,1305167
,1305586,1306350,1306409,1306426,1306841,1307790,1308327,1308459,1309536,1309567,1311468,1324760,1325218,1325227,1325250,1325265,1325275,1325632,1325724,1326980,1326984,1326991,1327689,1328325-1328326,1328339,1328345,1328950,1330189,1330964,1331110,1331115,1331942,1331977,1332378,1333969,1334343,1335882,1337344,1341906,1341913,1343085,1343087,1343094,1343099,1343109,1343935,1345319,1345329,1346905,1347980,1348036,1348653,1348656,1348660,1349905,1351012-1351020,1351071-1351072,1351074,1351737,1352047,1352534,1352909-1352912,1357685,1358061,1359057,1359881,1359884,1361153,1361298,1361766,1361773,1361778,1361784,1361791-1361792,1361801,1361803,1362020,1362538,1362707,1363035,1363183,1363186,1363312,1363440,1363557,1363589,1363829,1363832,1363836-1363837,1363853,1364133,1364138,1364229,1364601,1364695,1365001,1365020,1365029,1365479,1366319,1366344,1366621,1367778,1367819,1368053,1368058,1368094,1368121,1368131,1368393,1368396,1369419,1369568,1369604,1369618,1369904,1369995,1369999,1370
001,1370466,1370592,1370615-1370616,1370763,1371387,1371791,1371801,1371878,1371903,1373270,1373447,1373898,1373955,1374157,1374199,1374247,1374874,1374877,1374880,1375006,1375009,1375011,1375013,1375584,1376695,1376700,1378178,1383490,1384408,1384913,1386576,1386578,1386726,1386822,1386880,1386913,1387085,1387088,1387110,1387389,1387444,1387603,1387607,1387633,1387693,1387979,1388029,1388445,1388447,1388648,1388660,1388825,1388899,1389316,1389339,1389481,1389506,1389564,1389566-1389569,1390562,1390564,1391396,1391398,1391771,1392120,1392122,1392150,1392214,1392345-1392347,1392850,1393033,1393058,1393152,1393338,1393564,1394079,1395225,1395253-1395256,1395792,1397172,1397320,1397636,1397687,1397710,1397716,1398025,1398040,1398066,1398478,1398480-1398481,1398970,1399413,1399687,1399708,1400700,1401448,1402924,1403476,1403483,1403492,1404653,1405407,1405856,1405973,1406068,1406493,1406495,1406616,1406646,1406760,1407004,1407006,1407085,1407088,1407248,1407381,1407459-1407460,1407528,1
407853,1407965,1408093,1408402,1408958,1408961,1409170,1409437,1409726,1409800,1410681,1410954,1411862,1412278,1413732,1414094,1415008,1415023,1415075,1416121,1416150,1416278,1417197,1417529,1418524,1418556,1418648,1418655,1418703,1418721,1418752,1418769,1419084,1419719,1419726,1419755,1419781,1419796,1420120,1420124,1420149,1420184,1420644,1420685-1420686,1420975,1421288,1421323,1421851,1421912,1421953,1422135,1422549,1422594,1422712,1422855,1422937,1422943,1422980,1423353,1423933,1425360,1425771-1425772,1425775,1425777,1425874,1426850,1426975,1427546,1428184,1428280,1428916,1429228,1429559,1429561,1429564,1429582,1430575,1430814,1430869,1433001,1433613,1433682,1433861,1433988,1435178,1435811,1436058,1436401,1439083,1439106,1439114,1439404,1439623,1442309,1442320,1442326,1442412,1442759,1442865,1447993,1448171,1448453,1451478,1451484,1451633,1451849,1451905,1451921,1452128,1452195,1452259,1452281,1452551,1452911,1452949,1452954,1453022,1453574,1453604,1453875-1453876,1453963,145398
1,1454386,1454414-1454415,1454888,1457437,1457450,1457471,1457504,1457520-1457521,1457610,1457995,1458003-1458004,1458020,1458285,1458447,1458456,1462266,1462269,1462643,1463044-1463047,1463052,1463056,1463455,1463736,1463750,1463754,1464675,1464721,1464762,1465115-1465116,1465190,1467765,1468581,1470183,1470679,1470940,1471449,1475878,1476604,1476621,1476642,1476644-1476645,1476652,1476680,1477094,1477530,1478382,1478748,1479117,1479216,1479222,1479411,1479528,1479905,1479966,1480046,1480627,1481197,1481302,1481306,1481396-1481397,1481891,1482041,1482075,1482170,1482555,1482859,1482996,1483005,1483027,1483190,1484343,1484398,1484832,1484910,1484914,1485409,1485668,1486490,1487528,1487530,1488158,1488164,1488296,1488471,1488492,1488644,1490493,1490507,1490550,1490761,1490994,1491155,1491221,1491234,1491458,1491479,1491538,1491564,1491724,1492663,1492710,1492782,1493330,1493921,1493925,1494536,1495501,1496194,1496338,1496429,1496709,1497371,1497588,1498880,1499679,1500323,1500345,150
0362,1500423,1500437,1500483,1500519,1501294,1501369,1501399,1501913,1502665,1502772,1503680,1503866,1503990-1503991,1504276,1506714,1509872,1509983,1510084-1510085,1510098,1510588,1510707,1511093,1513492,1513508,1514039,1514064,1514214-1514215,1514255,1514267,1514617,1515050,1515162,1515403,1515411,1515420,1517025,1517045,1517175,1517366,1517386,1517388,1518265,1518269,1519475,1520368,1520445,1520760,1520908,1521909,1523235,1523239,1523281,1523387,1524101,1524158,1524192,1524368,1524388,1524770,1525276,1525280-1525281,1525931,1526168,1526189,1526647,1526666,1527008,1527220,1527291,1527294-1527295,1527509,1527925-1527926,1528143,1528718,1529014,1529277,1529449,1529559,1529988,1529991,1530793,1531340,1531370,1531505,1531672,1531961-1531962,1532746,1532816,1533065,1533224,1534321,1534754,1534890,1534892,1536310,1537535,1538490,1540051-1540052,1541181,1541270,1541368,1542338,1542379,1542533,1542562,1542615,1543020,1543147,1543149,1543174,1544381,1544774,1544784,1544812,1544820,1545286,
1545292,1545325,1545364,1545408,1545411,1546692-1546693,1546730,1546759-1546760,1546801,1546804-1546805,1546835-1546836,1547845,1550061,1550302,1550307,1551685,1551714,1551802,1552130,1552227,1553204,1553824,1554161,1554168,1554170,1554175-1554176,1554179,1554181,1554184,1554188,1554192,1554195,1554276,1554281,1554300-1554301,1554994-1554995,1555240,1555259,1555266,1555423-1555424,1555463-1555464,1555467,1555555,1555569,1556206,1556428,1556911-1556912,1556914,1556937,1557317,1557617,1558483,1559351,1559828,1560367,1560546,1560679,1560689,1560729,1560977,1560979,1561137,1561262,1561385,1561660,1561923,1562472,1563193,1563379,1563381,1563417-1563418,1563420,1564052,1564437,1564475,1564756,1564760,1565081,1565711,1568404,1569615,1570288,1570598,1571369,1572092,1572198,1572543,1572561,1572611,1572630,1572655,1572663,1572668-1572671,1572896,1572905,1572911,1572967,1573224,1573229,1573626,1574151,1575400,1576233,1576741,1578760,1578762,1580568,1583005,1583007-1583008,1583027,1583175,15831
91,1584098,1584430,1584434,1584572,1584653,1584658,1584665,1584703,1584878,1584884,1584896,1585054,1585072,1585090,1585435,1585609,1585824,1585918-1585919,1586745,1586827,1587036,1587040,1587053,1587255,1587594,1587639,1587654,1588054,1588065,1588213,1588427,1588519,1588527,1588704,1588851,1588853,1589413,1590437,1590509,1591143,1591320,1591322,1591328,1591390,1591394,1591401,1591472,1591508,1592032,1592037,1592500,1592511,1592514,1592529,1592615,1592632,1593745,1594625,1594643,1594648,1595305,1595321,1595426,1597182,1597349,1597352,1597639,1597642,1598107,1598946,1601076,1601184-1601185,1601274,1601291,1601630,1601919,1601995,1602338,1602978,1602989,1603027,1603029,1603122,1603156,1603915,1604382,1604461,1604631,1605207,1605827,1605829,1607960,1608284,1608785,1608999,1609914,1609936,1609938,1610207,1610311,1610353,1610366,1610491,1610652,1610674,1611165,1611169,1611244,1611600,1611871,1611978,1612068,1615026,1615289,1617018,1618401,1618541,1619297,1619383,1619444,1619835,1620324,16
20461,1620932,1621367,1621372,1621417,1621453,1621806,1622450,1624234,1624349,1625196,1625952,1626050,1626978,1628104,1628918-1628919,1628924,1628950,1629235,1629239,1629244,1629250,1629372,1629440-1629441,1629485,1629507-1629508,1629519,1629577,1629652,1629916,1631885,1632454,1632740,1632742,1633730-1633731,1633793,1634120,1634237,1634425,1634736,1634836,1635510,1635558,1635644-1635645,1635762,1637112,1638072-1638073,1638879,1639614,1640031,1640036,1640040,1640042,1640331,1641077,1641095,1641376,1642099,1642484,1642499,1642847,1642868,1643034,1643284,1643537,1643825,1644245,1646282,1646724,1647035,1648201,1648394,1648433,1648719,1648840,1649001,1649043,1649632,1649966,1650047,1650061,1650309-1650310,1650320,1651088,1652829,1652929,1652931,1652955,1652982,1652985,1652989,1653997,1656669,1657256,1657261,1657636,1657638,1657685,1657881,1657897,1658760,1658765,1661067,1661258,1661448,1661464,1661486,1662245-1662246,1663017,1663647,1664071,1664133,1664205,1664299,1664709,1665215,1665218
,1665625,1665643,1665721,1666297,1666361,1666363,1666468,1666618,1666998,1667385-1667386,1668532,1668535,1668553,1669130,1669289,1669292,1670434,1671364,1671396-1671397,1671918,1672289,1672453,1672466,1672480,1672483,1672564,1672757,1672985,1672989,1673113,1673155,1673368,1673455,1673769,1674056,1674538,1674542,1674606,1674632,1674697,1675103,1675410,1675533,1676085,1676654,1676709,1676842,1677096,1677143-1677146,1677149,1677151,1677153-1677156,1677159,1677339,1677462,1677702,1677830,1677832,1677834-1677835,1678763,1679032,1679181-1679182,1679192,1679428,1679432,1679470,1679620,1679712,1680276,1680895,1680900,1680942,1681037,1681424,1681440,1681685,1681694,1681795,1682482,1682816,1682819,1682907,1682923,1682937,1682979,1682988,1683044,1683047,1683123,1683881,1683884,1684057,1684900,1685069,1685339,1685345,1685347,1685349-1685350,1685650,1685659,1685779,1686085,1687539,1687680,1687980,1688274,1688331,1688339-1688341,1688343,1688474-1688475,1688536,1688538,1688660,1689325,1689605,1689
694,1689698,1690120,1690137,1690248,1691374,1691582,1691592,1691819,1691908,1692285,1692432,1692486,1692516,1693792,1693918-1693919,1693963,1694903,1694936,1694950-1694951,1695170,1695727,1695874,1695885,1695920,1696105,1696264,1696266,1696279,1696428,1696442,1696565,1696592,1696607,1696755,1696881,1697013,1697015,1697051,1697323,1697339,1697370,1697389,1697446,1697543,1697634,1697855,1698023,1698103,1698107,1698116,1698133,1698330,1700271,1700275,1700317-1700322,1700326,1700328,1700330-1700332,1700334,1700336,1700338,1700418,1700514,1700777,1700851,1700917,1700925,1700968,1701005,1701145,1701178,1701204,1701347,1701436,1701545,1701717,1702643,1702919,1703152,1703417,1703642,1703807,1703813,1703822,1703871,1703902,1703952,1704099,1704241,1704262,1704797,1704799,1704826,1705099,1705134,1705194,1705257,1705749,1705776,1705823,1705826,1705828,1705833,1705983,1706275,1706627,1706635,1706637,1706640,1706918,1706942,1706989,1707002,1707230-1707231,1707497,1707519,1707591,1707626-1707627,1
707640,1707735,1707831,1707883,1707889,1708107,1708124,1708319,1709008,1709587,1709596,1709602,1709995,1710185,1710231,1710380,1710391,1710419,1710572,1710583-1710584,1710594,1710597,1710616,1710723,1711553,1711648,1712382,1713040,1715023
Modified: httpd/httpd/branches/2.4-http2-alpha/CHANGES
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4-http2-alpha/CHANGES?rev=1715218&r1=1715217&r2=1715218&view=diff
==============================================================================
--- httpd/httpd/branches/2.4-http2-alpha/CHANGES [utf-8] (original)
+++ httpd/httpd/branches/2.4-http2-alpha/CHANGES [utf-8] Thu Nov 19 17:14:03 2015
@@ -29,6 +29,9 @@ Changes with Apache 2.4.17
to avoid reusing it should the close be effective after some new request
is ready to be sent. [Yann Ylavic]
+ *) mod_ssl: Make the output filter more friendly with deferred write and
+ response pipelining. [Yann Ylavic, Joe Orton]
+
*) 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]
Modified: httpd/httpd/branches/2.4-http2-alpha/STATUS
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4-http2-alpha/STATUS?rev=1715218&r1=1715217&r2=1715218&view=diff
==============================================================================
--- httpd/httpd/branches/2.4-http2-alpha/STATUS (original)
+++ httpd/httpd/branches/2.4-http2-alpha/STATUS Thu Nov 19 17:14:03 2015
@@ -127,19 +127,6 @@ PATCHES PROPOSED TO BACKPORT FROM TRUNK:
2.4.x patch: https://people.apache.org/~minfrin/httpd-mod_alias-expr2.patch
+1: minfrin
- * mod_ssl: Make the output filter more friendly with deferred write and
- response pipelining.
- trunk patch: http://svn.apache.org/r1705194
- http://svn.apache.org/r1705823
- http://svn.apache.org/r1705826
- http://svn.apache.org/r1705828
- http://svn.apache.org/r1705833
- http://svn.apache.org/r1706275
- http://svn.apache.org/r1707230
- http://svn.apache.org/r1707231
- 2.4.x patch: http://people.apache.org/~ylavic/httpd-2.4.x-mod_ssl-deferred_friendly-v3.patch
- +1: ylavic
-
* core: Fix crash in ap_mpm_pod_check call caused by NULL dereference of
its parameter when starting httpd as single process (httpd -X).
trunk patch: http://svn.apache.org/r1711479
@@ -161,7 +148,38 @@ PATCHES PROPOSED TO BACKPORT FROM TRUNK:
2.4.x patch: http://people.apache.org/~ylavic/httpd-2.4.x-check_pipeline_blank_lines.patch
(trunk works, meant to ease review)
+1: ylavic, minfrin
+ icing: test 3 fails for me in t/security/CVE-2005-3357.t
+ ylavic: not related (at least not the cause), fixed in r1715023.
+ *) core/mod_ssl:
+ - master conn_rec* addition to conn_rec
+ - minor mmn bump
+ - improved ALPN and Upgrade handling
+ - allowing requests for servers whose TLS configuration is compatible
+ to the SNI server ones
+ - disabling TLS renegotiation for slave connections
+ changes are necessary for update modules/http2
+ trunk patch: http://svn.apache.org/r1708107
+ http://svn.apache.org/r1709587
+ http://svn.apache.org/r1709602
+ http://svn.apache.org/r1709995
+ http://svn.apache.org/r1710231
+ http://svn.apache.org/r1710419
+ http://svn.apache.org/r1710572
+ http://svn.apache.org/r1710583
+ http://svn.apache.org/r1715023
+ + manual addition of "conn_rec *master;"
+ branch mergeable to 2.4.x: ^/httpd/httpd/branches/2.4.17-protocols-changes
+ +1: icing, ylavic
+ before adding r1715023, jim was +1, retest?
+
+ *) mod_ssl: For the "SSLStaplingReturnResponderErrors off" case, make sure
+ to only staple responses with certificate status "good"
+ trunk patch: https://svn.apache.org/r1711728
+ https://svn.apache.org/r1713209 (missing LOGNO only)
+ 2.4.x patch: trunk works (modulo CHANGES)
+ +1: kbrand, icing
+
PATCHES/ISSUES THAT ARE BEING WORKED
Modified: httpd/httpd/branches/2.4-http2-alpha/docs/manual/mod/core.html.fr
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4-http2-alpha/docs/manual/mod/core.html.fr?rev=1715218&r1=1715217&r2=1715218&view=diff
==============================================================================
--- httpd/httpd/branches/2.4-http2-alpha/docs/manual/mod/core.html.fr (original)
+++ httpd/httpd/branches/2.4-http2-alpha/docs/manual/mod/core.html.fr Thu Nov 19 17:14:03 2015
@@ -33,8 +33,6 @@
<a href="../ja/mod/core.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../tr/mod/core.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Fonctionnalités de base du serveur HTTP Apache toujours
disponibles</td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Core</td></tr></table>
@@ -3947,19 +3945,30 @@ seulement depuis la version 2.3.3 sous W
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="qualifyredirecturl" id="qualifyredirecturl">Directive</a> <a name="QualifyRedirectURL" id="QualifyRedirectURL">QualifyRedirectURL</a></h2>
<table class="directive">
-<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Controls whether the REDIRECT_URL environent variable is
- fully qualified</td></tr>
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Vérifie si la variable d'environnement REDIRECT_URL est
+pleinement qualifiée</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>QualifyRedirectURL ON|OFF</code></td></tr>
<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>QualifyRedirectURL OFF</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur, serveur virtuel, répertoire</td></tr>
<tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>FileInfo</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Core</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>core</td></tr>
-<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Directive supported in 2.4.18 and later. 2.4.17 acted
-as if 'QualifyRedirectURL ON' was configured.</td></tr>
-</table><p>La documentation de cette directive
- n'a pas encore t traduite. Veuillez vous reporter la version
- en langue anglaise.</p></div>
+<tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Directive supportée à partir de la version 2.4.18 du
+serveur HTTP Apache. Jusqu'à la version 2.4.17, le serveur se comportait
+comme si la directive QualifyRedirectURL était définie à ON.</td></tr>
+</table>
+ <p>Cette directive permet de s'assurer que le serveur vérifiera que
+ la variable d'environnement REDIRECT_URL est bien pleinement
+ qualifiée. Par défaut, cette variable contient l'URL textuellement
+ demandée par le client, par exemple "/index.html". Avec <code class="directive"><a href="#qualifyredirecturl on">QualifyRedirectURL ON</a></code>, la même requête
+ affectera à la variable REDIRECT_URL une valeur du style
+ "http://www.example.com/index.html".</p>
+ <p>Même si cette directive n'est pas définie, lorsqu'une requête est
+ soumise avec une URL pleinement qualifiée, la variable REDIRECT_URL
+ contiendra quand-même une URL pleinement qualifiée.
+ </p>
+
+</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="rlimitcpu" id="rlimitcpu">Directive</a> <a name="RLimitCPU" id="RLimitCPU">RLimitCPU</a></h2>
<table class="directive">
Modified: httpd/httpd/branches/2.4-http2-alpha/docs/manual/mod/core.xml.fr
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4-http2-alpha/docs/manual/mod/core.xml.fr?rev=1715218&r1=1715217&r2=1715218&view=diff
==============================================================================
--- httpd/httpd/branches/2.4-http2-alpha/docs/manual/mod/core.xml.fr (original)
+++ httpd/httpd/branches/2.4-http2-alpha/docs/manual/mod/core.xml.fr Thu Nov 19 17:14:03 2015
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision: 1705784:1712268 (outdated) -->
+<!-- English Revision: 1712268 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
@@ -5069,4 +5069,33 @@ Apache</compatibility>
</usage>
</directivesynopsis>
+<directivesynopsis>
+<name>QualifyRedirectURL</name>
+<description>Vérifie si la variable d'environnement REDIRECT_URL est
+pleinement qualifiée</description>
+<syntax>QualifyRedirectURL ON|OFF</syntax>
+<default>QualifyRedirectURL OFF</default>
+<contextlist><context>server config</context><context>virtual host</context>
+<context>directory</context>
+</contextlist>
+<override>FileInfo</override>
+<compatibility>Directive supportée à partir de la version 2.4.18 du
+serveur HTTP Apache. Jusqu'à la version 2.4.17, le serveur se comportait
+comme si la directive QualifyRedirectURL était définie à ON.</compatibility>
+
+<usage>
+ <p>Cette directive permet de s'assurer que le serveur vérifiera que
+ la variable d'environnement REDIRECT_URL est bien pleinement
+ qualifiée. Par défaut, cette variable contient l'URL textuellement
+ demandée par le client, par exemple "/index.html". Avec <directive
+ module="core">QualifyRedirectURL ON</directive>, la même requête
+ affectera à la variable REDIRECT_URL une valeur du style
+ "http://www.example.com/index.html".</p>
+ <p>Même si cette directive n'est pas définie, lorsqu'une requête est
+ soumise avec une URL pleinement qualifiée, la variable REDIRECT_URL
+ contiendra quand-même une URL pleinement qualifiée.
+ </p>
+</usage>
+</directivesynopsis>
+
</modulesynopsis>
Modified: httpd/httpd/branches/2.4-http2-alpha/docs/manual/mod/core.xml.meta
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4-http2-alpha/docs/manual/mod/core.xml.meta?rev=1715218&r1=1715217&r2=1715218&view=diff
==============================================================================
--- httpd/httpd/branches/2.4-http2-alpha/docs/manual/mod/core.xml.meta (original)
+++ httpd/httpd/branches/2.4-http2-alpha/docs/manual/mod/core.xml.meta Thu Nov 19 17:14:03 2015
@@ -10,7 +10,7 @@
<variant outdated="yes">de</variant>
<variant>en</variant>
<variant outdated="yes">es</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
<variant outdated="yes">ja</variant>
<variant outdated="yes">tr</variant>
</variants>
Modified: httpd/httpd/branches/2.4-http2-alpha/docs/manual/mod/mod_ssl.html.fr
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4-http2-alpha/docs/manual/mod/mod_ssl.html.fr?rev=1715218&r1=1715217&r2=1715218&view=diff
==============================================================================
--- httpd/httpd/branches/2.4-http2-alpha/docs/manual/mod/mod_ssl.html.fr (original)
+++ httpd/httpd/branches/2.4-http2-alpha/docs/manual/mod/mod_ssl.html.fr Thu Nov 19 17:14:03 2015
@@ -29,8 +29,6 @@
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_ssl.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="../fr/mod/mod_ssl.html" title="Français"> fr </a></p>
</div>
-<div class="outofdate">Cette traduction peut être périmée. Vérifiez la version
- anglaise pour les changements récents.</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Chiffrement de haut niveau basé sur les protocoles Secure
Sockets Layer (SSL) et Transport Layer Security (TLS)</td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
@@ -52,6 +50,8 @@ pour fournir le moteur de chiffrement.</
<li><img alt="" src="../images/down.gif" /> <a href="#logformats">Formats de journaux
personnalisés</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#notes">Information à propos de la requête</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#expressionparser">Extension pour l'interprétation
+des expressions</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#authzproviders">Fournisseurs d'autorisation
disponibles avec Require</a></li>
</ul><h3 class="directives">Directives</h3>
@@ -368,6 +368,25 @@ format <code>%{<em>nom</em>}n</code> via
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
+<h2><a name="expressionparser" id="expressionparser">Extension pour l'interprétation
+des expressions</a></h2>
+
+<p>Lorsque <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> est compilé statiquement avec
+Apache, ou même chargé dynamiquement (en tant que module DSO), toute <a name="envvars">variable</a> en provenance de <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> peut
+être utilisée pour l'<a href="../expr.html">interprétation des
+expression ap_expr</a>. Les variables peuvent être référencées en
+utilisant la syntaxe ``<code>%{</code><em>varname</em><code>}</code>''.
+A partir de la version 2.4.18, on peut aussi utiliser la syntaxe de
+style <code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code>
+``<code>%{SSL:</code><em>varname</em><code>}</code>'', ou la syntaxe de
+style fonction ``<code>ssl(</code><em>varname</em><code>)</code>''.</p>
+<div class="example"><h3>Exemple (en utilisant <code class="module"><a href="../mod/mod_headers.html">mod_headers</a></code>)</h3><pre class="prettyprint lang-config">Header set X-SSL-PROTOCOL "expr=%{SSL_PROTOCOL}"
+Header set X-SSL-CIPHER "expr=%{SSL:SSL_CIPHER}"</pre>
+</div>
+<p>Cette fonctionnalité est disponible même si l'option
+<code>StdEnvVars</code> de la directive <code class="directive"><a href="#ssloptions">SSLOptions</a></code> n'a pas été définie.</p>
+</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="section">
<h2><a name="authzproviders" id="authzproviders">Fournisseurs d'autorisation
disponibles avec Require</a></h2>
@@ -1418,7 +1437,7 @@ Les <em>option</em>s disponibles sont :<
<div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">SSLOptions +FakeBasicAuth -StrictRequire
<Files ~ "\.(cgi|shtml)$">
SSLOptions +StdEnvVars -ExportCertData
-<Files></pre>
+</Files></pre>
</div>
</div>
Modified: httpd/httpd/branches/2.4-http2-alpha/docs/manual/mod/mod_ssl.xml.fr
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4-http2-alpha/docs/manual/mod/mod_ssl.xml.fr?rev=1715218&r1=1715217&r2=1715218&view=diff
==============================================================================
--- httpd/httpd/branches/2.4-http2-alpha/docs/manual/mod/mod_ssl.xml.fr (original)
+++ httpd/httpd/branches/2.4-http2-alpha/docs/manual/mod/mod_ssl.xml.fr Thu Nov 19 17:14:03 2015
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision: 1707123:1711549 (outdated) -->
+<!-- English Revision: 1711549 -->
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
@@ -289,6 +289,31 @@ format <code>%{<em>nom</em>}n</code> via
</dl>
</section>
+
+<section id="expressionparser"><title>Extension pour l'interprétation
+des expressions</title>
+
+<p>Lorsque <module>mod_ssl</module> est compilé statiquement avec
+Apache, ou même chargé dynamiquement (en tant que module DSO), toute <a
+name="envvars">variable</a> en provenance de <module>mod_ssl</module> peut
+être utilisée pour l'<a href="../expr.html">interprétation des
+expression ap_expr</a>. Les variables peuvent être référencées en
+utilisant la syntaxe ``<code>%{</code><em>varname</em><code>}</code>''.
+A partir de la version 2.4.18, on peut aussi utiliser la syntaxe de
+style <module>mod_rewrite</module>
+``<code>%{SSL:</code><em>varname</em><code>}</code>'', ou la syntaxe de
+style fonction ``<code>ssl(</code><em>varname</em><code>)</code>''.</p>
+<example><title>Exemple (en utilisant <module>mod_headers</module>)</title>
+<highlight language="config">
+Header set X-SSL-PROTOCOL "expr=%{SSL_PROTOCOL}"
+Header set X-SSL-CIPHER "expr=%{SSL:SSL_CIPHER}"
+</highlight>
+</example>
+<p>Cette fonctionnalité est disponible même si l'option
+<code>StdEnvVars</code> de la directive <directive
+module="mod_ssl">SSLOptions</directive> n'a pas été définie.</p>
+</section>
+
<section id="authzproviders"><title>Fournisseurs d'autorisation
disponibles avec Require</title>
@@ -1659,7 +1684,7 @@ Les <em>option</em>s disponibles sont :<
SSLOptions +FakeBasicAuth -StrictRequire
<Files ~ "\.(cgi|shtml)$">
SSLOptions +StdEnvVars -ExportCertData
-<Files>
+</Files>
</highlight>
</example>
</usage>
Modified: httpd/httpd/branches/2.4-http2-alpha/docs/manual/mod/mod_ssl.xml.meta
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4-http2-alpha/docs/manual/mod/mod_ssl.xml.meta?rev=1715218&r1=1715217&r2=1715218&view=diff
==============================================================================
--- httpd/httpd/branches/2.4-http2-alpha/docs/manual/mod/mod_ssl.xml.meta (original)
+++ httpd/httpd/branches/2.4-http2-alpha/docs/manual/mod/mod_ssl.xml.meta Thu Nov 19 17:14:03 2015
@@ -8,6 +8,6 @@
<variants>
<variant>en</variant>
- <variant outdated="yes">fr</variant>
+ <variant>fr</variant>
</variants>
</metafile>
Modified: httpd/httpd/branches/2.4-http2-alpha/docs/manual/mod/quickreference.html.fr
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4-http2-alpha/docs/manual/mod/quickreference.html.fr?rev=1715218&r1=1715217&r2=1715218&view=diff
==============================================================================
--- httpd/httpd/branches/2.4-http2-alpha/docs/manual/mod/quickreference.html.fr (original)
+++ httpd/httpd/branches/2.4-http2-alpha/docs/manual/mod/quickreference.html.fr Thu Nov 19 17:14:03 2015
@@ -965,8 +965,8 @@ mod_status</td></tr>
mandatées</td></tr>
<tr class="odd"><td><a href="mod_proxy.html#proxyvia">ProxyVia On|Off|Full|Block</a></td><td> Off </td><td>sv</td><td>E</td></tr><tr class="odd"><td class="descr" colspan="4">Information fournie dans l'en-tête de réponse HTTP
<code>Via</code> pour les requêtes mandatées</td></tr>
-<tr><td><a href="core.html#qualifyredirecturl" id="Q" name="Q">QualifyRedirectURL ON|OFF</a></td><td> OFF </td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Controls whether the REDIRECT_URL environent variable is
- fully qualified</td></tr>
+<tr><td><a href="core.html#qualifyredirecturl" id="Q" name="Q">QualifyRedirectURL ON|OFF</a></td><td> OFF </td><td>svd</td><td>C</td></tr><tr><td class="descr" colspan="4">Vérifie si la variable d'environnement REDIRECT_URL est
+pleinement qualifiée</td></tr>
<tr class="odd"><td><a href="mod_autoindex.html#readmename" id="R" name="R">ReadmeName <var>nom-fichier</var></a></td><td></td><td>svdh</td><td>B</td></tr><tr class="odd"><td class="descr" colspan="4">Nom du fichier dont le contenu sera inséré à la fin de
l'index</td></tr>
<tr><td><a href="mpm_common.html#receivebuffersize">ReceiveBufferSize <var>octets</var></a></td><td> 0 </td><td>s</td><td>M</td></tr><tr><td class="descr" colspan="4">Taille du tampon TCP en entrée</td></tr>
Modified: httpd/httpd/branches/2.4-http2-alpha/modules/aaa/mod_authn_anon.c
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4-http2-alpha/modules/aaa/mod_authn_anon.c?rev=1715218&r1=1715217&r2=1715218&view=diff
==============================================================================
--- httpd/httpd/branches/2.4-http2-alpha/modules/aaa/mod_authn_anon.c (original)
+++ httpd/httpd/branches/2.4-http2-alpha/modules/aaa/mod_authn_anon.c Thu Nov 19 17:14:03 2015
@@ -57,7 +57,7 @@
#include "mod_auth.h"
typedef struct anon_auth_user {
- char *user;
+ const char *user;
struct anon_auth_user *next;
} anon_auth_user;
@@ -103,7 +103,7 @@ static const char *anon_set_string_slots
else {
first = conf->users;
conf->users = apr_palloc(cmd->pool, sizeof(*conf->users));
- conf->users->user = apr_pstrdup(cmd->pool, arg);
+ conf->users->user = arg;
conf->users->next = first;
}
}
Modified: httpd/httpd/branches/2.4-http2-alpha/modules/aaa/mod_authnz_ldap.c
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4-http2-alpha/modules/aaa/mod_authnz_ldap.c?rev=1715218&r1=1715217&r2=1715218&view=diff
==============================================================================
--- httpd/httpd/branches/2.4-http2-alpha/modules/aaa/mod_authnz_ldap.c (original)
+++ httpd/httpd/branches/2.4-http2-alpha/modules/aaa/mod_authnz_ldap.c Thu Nov 19 17:14:03 2015
@@ -1627,7 +1627,7 @@ static const char *set_bind_pattern(cmd_
}
sec->bind_regex = regexp;
- sec->bind_subst = apr_pstrdup(cmd->pool, subst);
+ sec->bind_subst = subst;
return NULL;
}
@@ -1655,7 +1655,7 @@ static const char *set_bind_password(cmd
result = ap_get_exec_line(cmd->pool,
(const char*)argv[0], (const char * const *)argv);
- if(!result) {
+ if (!result) {
return apr_pstrcat(cmd->pool,
"Unable to get bind password from exec of ",
arg+5, NULL);
Modified: httpd/httpd/branches/2.4-http2-alpha/modules/http2/config.m4
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4-http2-alpha/modules/http2/config.m4?rev=1715218&r1=1715217&r2=1715218&view=diff
==============================================================================
--- httpd/httpd/branches/2.4-http2-alpha/modules/http2/config.m4 (original)
+++ httpd/httpd/branches/2.4-http2-alpha/modules/http2/config.m4 Thu Nov 19 17:14:03 2015
@@ -31,6 +31,7 @@ h2_h2.lo dnl
h2_io.lo dnl
h2_io_set.lo dnl
h2_mplx.lo dnl
+h2_push.lo dnl
h2_request.lo dnl
h2_response.lo dnl
h2_session.lo dnl
@@ -41,7 +42,6 @@ h2_task.lo dnl
h2_task_input.lo dnl
h2_task_output.lo dnl
h2_task_queue.lo dnl
-h2_to_h1.lo dnl
h2_util.lo dnl
h2_worker.lo dnl
h2_workers.lo dnl
Modified: httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_bucket_eoc.c
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_bucket_eoc.c?rev=1715218&r1=1715217&r2=1715218&view=diff
==============================================================================
--- httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_bucket_eoc.c (original)
+++ httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_bucket_eoc.c Thu Nov 19 17:14:03 2015
@@ -49,6 +49,8 @@ static apr_status_t bucket_cleanup(void
static apr_status_t bucket_read(apr_bucket *b, const char **str,
apr_size_t *len, apr_read_type_e block)
{
+ (void)b;
+ (void)block;
*str = NULL;
*len = 0;
return APR_SUCCESS;
@@ -89,7 +91,7 @@ static void bucket_destroy(void *data)
if (apr_bucket_shared_destroy(h)) {
h2_session *session = h->session;
if (session) {
- h2_session_cleanup(session);
+ h2_session_eoc_callback(session);
}
apr_bucket_free(h);
}
Modified: httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_bucket_eos.c
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_bucket_eos.c?rev=1715218&r1=1715217&r2=1715218&view=diff
==============================================================================
--- httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_bucket_eos.c (original)
+++ httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_bucket_eos.c Thu Nov 19 17:14:03 2015
@@ -49,6 +49,8 @@ static apr_status_t bucket_cleanup(void
static apr_status_t bucket_read(apr_bucket *b, const char **str,
apr_size_t *len, apr_read_type_e block)
{
+ (void)b;
+ (void)block;
*str = NULL;
*len = 0;
return APR_SUCCESS;
Modified: httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_config.c
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_config.c?rev=1715218&r1=1715217&r2=1715218&view=diff
==============================================================================
--- httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_config.c (original)
+++ httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_config.c Thu Nov 19 17:14:03 2015
@@ -29,6 +29,7 @@
#include "h2_ctx.h"
#include "h2_conn.h"
#include "h2_config.h"
+#include "h2_h2.h"
#include "h2_private.h"
#define DEF_VAL (-1)
@@ -38,21 +39,22 @@
static h2_config defconf = {
"default",
- 100, /* max_streams */
- 64 * 1024, /* window_size */
- -1, /* min workers */
- -1, /* max workers */
- 10 * 60, /* max workers idle secs */
- 64 * 1024, /* stream max mem size */
- NULL, /* no alt-svcs */
- -1, /* alt-svc max age */
- 0, /* serialize headers */
- -1, /* h2 direct mode */
- -1, /* # session extra files */
- 1, /* modern TLS only */
- -1, /* HTTP/1 Upgrade support */
- 1024*1024, /* TLS warmup size */
- 1, /* TLS cooldown secs */
+ 100, /* max_streams */
+ H2_INITIAL_WINDOW_SIZE, /* window_size */
+ -1, /* min workers */
+ -1, /* max workers */
+ 10 * 60, /* max workers idle secs */
+ 64 * 1024, /* stream max mem size */
+ NULL, /* no alt-svcs */
+ -1, /* alt-svc max age */
+ 0, /* serialize headers */
+ -1, /* h2 direct mode */
+ -1, /* # session extra files */
+ 1, /* modern TLS only */
+ -1, /* HTTP/1 Upgrade support */
+ 1024*1024, /* TLS warmup size */
+ 1, /* TLS cooldown secs */
+ 1, /* HTTP/2 server push enabled */
};
static int files_per_session = 0;
@@ -108,6 +110,7 @@ static void *h2_config_create(apr_pool_t
conf->h2_upgrade = DEF_VAL;
conf->tls_warmup_size = DEF_VAL;
conf->tls_cooldown_secs = DEF_VAL;
+ conf->h2_push = DEF_VAL;
return conf;
}
@@ -151,6 +154,7 @@ void *h2_config_merge(apr_pool_t *pool,
n->h2_upgrade = H2_CONFIG_GET(add, base, h2_upgrade);
n->tls_warmup_size = H2_CONFIG_GET(add, base, tls_warmup_size);
n->tls_cooldown_secs = H2_CONFIG_GET(add, base, tls_cooldown_secs);
+ n->h2_push = H2_CONFIG_GET(add, base, h2_push);
return n;
}
@@ -196,6 +200,8 @@ apr_int64_t h2_config_geti64(h2_config *
return H2_CONFIG_GET(conf, &defconf, tls_warmup_size);
case H2_CONF_TLS_COOLDOWN_SECS:
return H2_CONFIG_GET(conf, &defconf, tls_cooldown_secs);
+ case H2_CONF_PUSH:
+ return H2_CONFIG_GET(conf, &defconf, h2_push);
default:
return DEF_VAL;
}
@@ -358,6 +364,23 @@ static const char *h2_conf_set_direct(cm
return "value must be On or Off";
}
+static const char *h2_conf_set_push(cmd_parms *parms,
+ void *arg, const char *value)
+{
+ h2_config *cfg = h2_config_sget(parms->server);
+ if (!strcasecmp(value, "On")) {
+ cfg->h2_push = 1;
+ return NULL;
+ }
+ else if (!strcasecmp(value, "Off")) {
+ cfg->h2_push = 0;
+ return NULL;
+ }
+
+ (void)arg;
+ return "value must be On or Off";
+}
+
static const char *h2_conf_set_modern_tls_only(cmd_parms *parms,
void *arg, const char *value)
{
@@ -444,6 +467,8 @@ const command_rec h2_cmds[] = {
RSRC_CONF, "number of bytes on TLS connection before doing max writes"),
AP_INIT_TAKE1("H2TLSCoolDownSecs", h2_conf_set_tls_cooldown_secs, NULL,
RSRC_CONF, "seconds of idle time on TLS before shrinking writes"),
+ AP_INIT_TAKE1("H2Push", h2_conf_set_push, NULL,
+ RSRC_CONF, "off to disable HTTP/2 server push"),
AP_END_CMD
};
Modified: httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_config.h
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_config.h?rev=1715218&r1=1715217&r2=1715218&view=diff
==============================================================================
--- httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_config.h (original)
+++ httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_config.h Thu Nov 19 17:14:03 2015
@@ -38,6 +38,7 @@ typedef enum {
H2_CONF_UPGRADE,
H2_CONF_TLS_WARMUP_SIZE,
H2_CONF_TLS_COOLDOWN_SECS,
+ H2_CONF_PUSH,
} h2_config_var_t;
/* Apache httpd module configuration for h2. */
@@ -59,6 +60,7 @@ typedef struct h2_config {
int h2_upgrade; /* Allow HTTP/1 upgrade to h2/h2c */
apr_int64_t tls_warmup_size; /* Amount of TLS data to send before going full write size */
int tls_cooldown_secs; /* Seconds of idle time before going back to small TLS records */
+ int h2_push; /* if HTTP/2 server push is enabled */
} h2_config;
Modified: httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_conn.c
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_conn.c?rev=1715218&r1=1715217&r2=1715218&view=diff
==============================================================================
--- httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_conn.c (original)
+++ httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_conn.c Thu Nov 19 17:14:03 2015
@@ -40,8 +40,6 @@
static struct h2_workers *workers;
-static apr_status_t h2_conn_loop(h2_session *session);
-
static h2_mpm_type_t mpm_type = H2_MPM_UNKNOWN;
static module *mpm_module;
static int checked;
@@ -133,42 +131,28 @@ static module *h2_conn_mpm_module(void)
return mpm_module;
}
-apr_status_t h2_conn_rprocess(request_rec *r)
+apr_status_t h2_conn_process(conn_rec *c, request_rec *r)
{
- h2_config *config = h2_config_rget(r);
+ apr_status_t status;
h2_session *session;
+ h2_config *config;
+ int rv;
- ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r, "h2_conn_process start");
if (!workers) {
- ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r, APLOGNO(02911)
+ ap_log_cerror(APLOG_MARK, APLOG_ERR, 0, c, APLOGNO(02911)
"workers not initialized");
return APR_EGENERAL;
}
- session = h2_session_rcreate(r, config, workers);
- if (!session) {
- return APR_EGENERAL;
- }
-
- return h2_conn_loop(session);
-}
-
-apr_status_t h2_conn_main(conn_rec *c)
-{
- h2_config *config = h2_config_get(c);
- h2_session *session;
- apr_status_t status;
+ ap_log_cerror(APLOG_MARK, APLOG_DEBUG, 0, c, "h2_conn_process start");
- ap_log_cerror(APLOG_MARK, APLOG_DEBUG, 0, c, "h2_conn_main start");
- if (!workers) {
- ap_log_cerror(APLOG_MARK, APLOG_ERR, 0, c, APLOGNO(02912)
- "workers not initialized");
- return APR_EGENERAL;
- }
-
- session = h2_session_create(c, config, workers);
- if (!session) {
- return APR_EGENERAL;
+ if (r) {
+ config = h2_config_rget(r);
+ session = h2_session_rcreate(r, config, workers);
+ }
+ else {
+ config = h2_config_get(c);
+ session = h2_session_create(c, config, workers);
}
if (!h2_is_acceptable_connection(c, 1)) {
@@ -176,203 +160,41 @@ apr_status_t h2_conn_main(conn_rec *c)
NGHTTP2_INADEQUATE_SECURITY, NULL, 0);
}
- status = h2_conn_loop(session);
-
- /* Make sure this connection gets closed properly. */
- c->keepalive = AP_CONN_CLOSE;
- if (c->cs) {
- c->cs->state = CONN_STATE_WRITE_COMPLETION;
- }
-
- return status;
-}
-
-static apr_status_t h2_conn_loop(h2_session *session)
-{
- apr_status_t status = APR_SUCCESS;
- int rv = 0;
- apr_interval_time_t wait_micros = 0;
- static const int MAX_WAIT_MICROS = 200 * 1000;
-
- /* Start talking to the client. Apart from protocol meta data,
- * we mainly will see new http/2 streams opened by the client, which
- * basically are http requests we need to dispatch.
- *
- * There will be bursts of new streams, to be served concurrently,
- * followed by long pauses of no activity.
- *
- * Since the purpose of http/2 is to allow siumultaneous streams, we
- * need to dispatch the handling of each stream into a separate worker
- * thread, keeping this thread open for sending responses back as
- * soon as they arrive.
- * At the same time, we need to continue reading new frames from
- * our client, which may be meta (WINDOWS_UPDATEs, PING, SETTINGS) or
- * new streams.
- *
- * As long as we have streams open in this session, we cannot really rest
- * since there are two conditions to wait on: 1. new data from the client,
- * 2. new data from the open streams to send back.
- *
- * Only when we have no more streams open, can we do a blocking read
- * on our connection.
- *
- * TODO: implement graceful GO_AWAY after configurable idle time
- */
-
- ap_update_child_status_from_conn(session->c->sbh, SERVER_BUSY_READ,
- session->c);
-
- if (APLOGctrace2(session->c)) {
- ap_filter_t *filter = session->c->input_filters;
- while (filter) {
- ap_log_cerror(APLOG_MARK, APLOG_TRACE2, 0, session->c,
- "h2_conn(%ld), has connection filter %s",
- session->id, filter->frec->name);
- filter = filter->next;
- }
- }
-
+ ap_update_child_status_from_conn(c->sbh, SERVER_BUSY_READ, c);
status = h2_session_start(session, &rv);
ap_log_cerror(APLOG_MARK, APLOG_DEBUG, status, session->c,
"h2_session(%ld): starting on %s:%d", session->id,
- session->c->base_server->defn_name,
+ session->c->base_server->server_hostname,
session->c->local_addr->port);
if (status != APR_SUCCESS) {
h2_session_abort(session, status, rv);
- h2_session_cleanup(session);
+ h2_session_eoc_callback(session);
return status;
}
- while (!h2_session_is_done(session)) {
- int have_written = 0;
- int have_read = 0;
- int got_streams;
-
- status = h2_session_write(session, wait_micros);
- if (status == APR_SUCCESS) {
- have_written = 1;
- wait_micros = 0;
- }
- else if (APR_STATUS_IS_EAGAIN(status)) {
- /* nop */
- }
- else if (status == APR_TIMEUP) {
- wait_micros *= 2;
- if (wait_micros > MAX_WAIT_MICROS) {
- wait_micros = MAX_WAIT_MICROS;
- }
- }
- else {
- ap_log_cerror( APLOG_MARK, APLOG_DEBUG, status, session->c,
- "h2_session(%ld): writing, terminating",
- session->id);
- h2_session_abort(session, status, 0);
- break;
- }
-
- /* We would like to do blocking reads as often as possible as they
- * are more efficient in regard to server resources.
- * We can do them under the following circumstances:
- * - we have no open streams and therefore have nothing to write
- * - we have just started the session and are waiting for the first
- * two frames to come in. There will always be at least 2 frames as
- * * h2 will send SETTINGS and SETTINGS-ACK
- * * h2c will count the header settings as one frame and we
- * submit our settings and need the ACK.
- */
- got_streams = !h2_stream_set_is_empty(session->streams);
- if (!got_streams || session->frames_received <= 1) {
- if (session->c->cs) {
- session->c->cs->state = CONN_STATE_WRITE_COMPLETION;
- }
- status = h2_session_read(session, APR_BLOCK_READ);
- }
- else {
- if (session->c->cs) {
- session->c->cs->state = CONN_STATE_HANDLER;
- }
- status = h2_session_read(session, APR_NONBLOCK_READ);
- }
-
- switch (status) {
- case APR_SUCCESS: /* successful read, reset our idle timers */
- have_read = 1;
- wait_micros = 0;
- break;
- case APR_EAGAIN: /* non-blocking read, nothing there */
- break;
- default:
- if (APR_STATUS_IS_ETIMEDOUT(status)
- || APR_STATUS_IS_ECONNABORTED(status)
- || APR_STATUS_IS_ECONNRESET(status)
- || APR_STATUS_IS_EOF(status)
- || APR_STATUS_IS_EBADF(status)) {
- /* common status for a client that has left */
- ap_log_cerror( APLOG_MARK, APLOG_DEBUG, status, session->c,
- "h2_session(%ld): terminating",
- session->id);
- /* Stolen from mod_reqtimeout to speed up lingering when
- * a read timeout happened.
- */
- apr_table_setn(session->c->notes, "short-lingering-close", "1");
- }
- else {
- /* uncommon status, log on INFO so that we see this */
- ap_log_cerror( APLOG_MARK, APLOG_INFO, status, session->c,
- APLOGNO(02950)
- "h2_session(%ld): error reading, terminating",
- session->id);
- }
- h2_session_abort(session, status, 0);
- break;
- }
-
- if (!have_read && !have_written
- && !h2_stream_set_is_empty(session->streams)) {
- /* Nothing to read or write, we have streams, but
- * the have no data yet ready to be delivered. Slowly
- * back off to give others a chance to do their work.
- */
- if (wait_micros == 0) {
- wait_micros = 10;
- }
- }
- }
-
+ status = h2_session_process(session);
+
ap_log_cerror( APLOG_MARK, APLOG_DEBUG, status, session->c,
"h2_session(%ld): done", session->id);
-
h2_session_close(session);
- ap_update_child_status_from_conn(session->c->sbh, SERVER_CLOSING,
- session->c);
- return DONE;
+ h2_session_flush(session);
+ /* hereafter session might be gone */
+
+ /* Make sure this connection gets closed properly. */
+ ap_update_child_status_from_conn(c->sbh, SERVER_CLOSING, c);
+ c->keepalive = AP_CONN_CLOSE;
+ if (c->cs) {
+ c->cs->state = CONN_STATE_WRITE_COMPLETION;
+ }
+
+ return status;
}
static void fix_event_conn(conn_rec *c, conn_rec *master);
-/*
- * We would like to create the connection more lightweight like
- * slave connections in 2.5-DEV. But we get 500 responses on long
- * cgi tests in modules/h2.t as the script parsing seems to see an
- * EOF from the cgi before anything is sent.
- *
-conn_rec *h2_conn_create(conn_rec *master, apr_pool_t *pool)
-{
- conn_rec *c = (conn_rec *) apr_palloc(pool, sizeof(conn_rec));
-
- memcpy(c, master, sizeof(conn_rec));
- c->id = (master->id & (long)pool);
- c->slaves = NULL;
- c->master = master;
- c->input_filters = NULL;
- c->output_filters = NULL;
- c->pool = pool;
-
- return c;
-}
-*/
+static int SLAVE_CONN_25DEV_STYLE = 1;
conn_rec *h2_conn_create(conn_rec *master, apr_pool_t *pool)
{
@@ -380,35 +202,52 @@ conn_rec *h2_conn_create(conn_rec *maste
conn_rec *c;
AP_DEBUG_ASSERT(master);
-
- /* CAVEAT: it seems necessary to setup the conn_rec in the master
- * connection thread. Other attempts crashed.
- * HOWEVER: we setup the connection using the pools and other items
- * from the master connection, since we do not want to allocate
- * lots of resources here.
- * Lets allocated pools and everything else when we actually start
- * working on this new connection.
- */
- /* Not sure about the scoreboard handle. Reusing the one from the main
- * connection could make sense, is not really correct, but we cannot
- * easily create new handles for our worker threads either.
- * TODO
- */
- socket = ap_get_module_config(master->conn_config, &core_module);
- c = ap_run_create_connection(pool, master->base_server,
- socket,
- master->id^((long)pool),
- master->sbh,
- master->bucket_alloc);
+
+ if (SLAVE_CONN_25DEV_STYLE) {
+ /* This is like the slave connection creation from 2.5-DEV. A
+ * very efficient way - not sure how compatible this is, since
+ * the core hooks are no longer run.
+ * But maybe it's is better this way, not sure yet.
+ */
+ c = (conn_rec *) apr_palloc(pool, sizeof(conn_rec));
+
+ memcpy(c, master, sizeof(conn_rec));
+ c->id = (master->id & (long)pool);
+ c->master = master;
+ c->input_filters = NULL;
+ c->output_filters = NULL;
+ c->pool = pool;
+ }
+ else {
+ /* CAVEAT: it seems necessary to setup the conn_rec in the master
+ * connection thread. Other attempts crashed.
+ * HOWEVER: we setup the connection using the pools and other items
+ * from the master connection, since we do not want to allocate
+ * lots of resources here.
+ * Lets allocated pools and everything else when we actually start
+ * working on this new connection.
+ */
+ /* Not sure about the scoreboard handle. Reusing the one from the main
+ * connection could make sense, is not really correct, but we cannot
+ * easily create new handles for our worker threads either.
+ * TODO
+ */
+ socket = ap_get_module_config(master->conn_config, &core_module);
+ c = ap_run_create_connection(pool, master->base_server,
+ socket,
+ master->id^((long)pool),
+ master->sbh,
+ master->bucket_alloc);
+ }
if (c == NULL) {
ap_log_perror(APLOG_MARK, APLOG_ERR, APR_ENOMEM, pool,
APLOGNO(02913) "h2_task: creating conn");
- return NULL;
}
return c;
}
-apr_status_t h2_conn_setup(h2_task *task, struct h2_worker *worker)
+apr_status_t h2_conn_setup(h2_task *task, apr_bucket_alloc_t *bucket_alloc,
+ apr_thread_t *thread, apr_socket_t *socket)
{
conn_rec *master = task->mplx->c;
@@ -422,8 +261,8 @@ apr_status_t h2_conn_setup(h2_task *task
* pools.
*/
task->c->pool = task->pool;
- task->c->bucket_alloc = h2_worker_get_bucket_alloc(worker);
- task->c->current_thread = h2_worker_get_thread(worker);
+ task->c->current_thread = thread;
+ task->c->bucket_alloc = bucket_alloc;
task->c->conn_config = ap_create_conn_config(task->pool);
task->c->notes = apr_table_make(task->pool, 5);
@@ -431,8 +270,7 @@ apr_status_t h2_conn_setup(h2_task *task
/* In order to do this in 2.4.x, we need to add a member to conn_rec */
task->c->master = master;
- ap_set_module_config(task->c->conn_config, &core_module,
- h2_worker_get_socket(worker));
+ ap_set_module_config(task->c->conn_config, &core_module, socket);
/* This works for mpm_worker so far. Other mpm modules have
* different needs, unfortunately. The most interesting one
@@ -459,24 +297,6 @@ apr_status_t h2_conn_setup(h2_task *task
return APR_SUCCESS;
}
-
-apr_status_t h2_conn_post(conn_rec *c, h2_worker *worker)
-{
- (void)worker;
-
- /* be sure no one messes with this any more */
- memset(c, 0, sizeof(*c));
- return APR_SUCCESS;
-}
-
-apr_status_t h2_conn_process(conn_rec *c, apr_socket_t *socket)
-{
- AP_DEBUG_ASSERT(c);
-
- ap_process_connection(c, socket);
-
- return APR_SUCCESS;
-}
/* This is an internal mpm event.c struct which is disguised
* as a conn_state_t so that mpm_event can have special connection
Modified: httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_conn.h
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_conn.h?rev=1715218&r1=1715217&r2=1715218&view=diff
==============================================================================
--- httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_conn.h (original)
+++ httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_conn.h Thu Nov 19 17:14:03 2015
@@ -17,19 +17,16 @@
#define __mod_h2__h2_conn__
struct h2_task;
-struct h2_worker;
-/* Process the connection that is now starting the HTTP/2
+/**
+ * Process the connection that is now starting the HTTP/2
* conversation. Return when the HTTP/2 session is done
* and the connection will close.
+ *
+ * @param c the connection HTTP/2 is starting on
+ * @param r the upgrad requestion that still awaits an answer, optional
*/
-apr_status_t h2_conn_main(conn_rec *c);
-
-/* Process the request that has been upgraded to a HTTP/2
- * conversation. Return when the HTTP/2 session is done
- * and the connection will close.
- */
-apr_status_t h2_conn_rprocess(request_rec *r);
+apr_status_t h2_conn_process(conn_rec *c, request_rec *r);
/* Initialize this child process for h2 connection work,
* to be called once during child init before multi processing
@@ -51,9 +48,7 @@ h2_mpm_type_t h2_conn_mpm_type(void);
conn_rec *h2_conn_create(conn_rec *master, apr_pool_t *stream_pool);
-apr_status_t h2_conn_setup(struct h2_task *task, struct h2_worker *worker);
-apr_status_t h2_conn_post(conn_rec *c, struct h2_worker *worker);
-
-apr_status_t h2_conn_process(conn_rec *c, apr_socket_t *socket);
+apr_status_t h2_conn_setup(struct h2_task *task, apr_bucket_alloc_t *bucket_alloc,
+ apr_thread_t *thread, apr_socket_t *socket);
#endif /* defined(__mod_h2__h2_conn__) */
Modified: httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_conn_io.c
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_conn_io.c?rev=1715218&r1=1715217&r2=1715218&view=diff
==============================================================================
--- httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_conn_io.c (original)
+++ httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_conn_io.c Thu Nov 19 17:14:03 2015
@@ -278,7 +278,7 @@ apr_status_t h2_conn_io_write(h2_conn_io
"h2_conn_io: buffering %ld bytes", (long)length);
if (!APR_BRIGADE_EMPTY(io->output)) {
- status = h2_conn_io_flush(io);
+ status = h2_conn_io_pass(io);
io->unflushed = 1;
}
@@ -323,14 +323,13 @@ apr_status_t h2_conn_io_writeb(h2_conn_i
apr_status_t h2_conn_io_consider_flush(h2_conn_io *io)
{
apr_status_t status = APR_SUCCESS;
- int flush_now = 0;
/* The HTTP/1.1 network output buffer/flush behaviour does not
* give optimal performance in the HTTP/2 case, as the pattern of
* buckets (data/eor/eos) is different.
- * As long as we do not have found out the "best" way to deal with
+ * As long as we have not found out the "best" way to deal with
* this, force a flush at least every WRITE_BUFFER_SIZE amount
- * of data which seems to work nicely.
+ * of data.
*/
if (io->unflushed) {
apr_off_t len = 0;
@@ -338,19 +337,16 @@ apr_status_t h2_conn_io_consider_flush(h
apr_brigade_length(io->output, 0, &len);
}
len += io->buflen;
- flush_now = (len >= WRITE_BUFFER_SIZE);
- }
-
- if (flush_now) {
- return h2_conn_io_flush(io);
+ if (len >= WRITE_BUFFER_SIZE) {
+ return h2_conn_io_pass(io);
+ }
}
return status;
}
-apr_status_t h2_conn_io_flush(h2_conn_io *io)
+static apr_status_t h2_conn_io_flush_int(h2_conn_io *io, int force)
{
- if (io->unflushed) {
- apr_status_t status;
+ if (io->unflushed || force) {
if (io->buflen > 0) {
/* something in the buffer, put it in the output brigade */
ap_log_cerror(APLOG_MARK, APLOG_TRACE1, 0, io->connection,
@@ -359,19 +355,28 @@ apr_status_t h2_conn_io_flush(h2_conn_io
io->buflen = 0;
}
- APR_BRIGADE_INSERT_TAIL(io->output,
- apr_bucket_flush_create(io->output->bucket_alloc));
- /* Send it out */
- status = pass_out(io->output, io);
-
- if (status != APR_SUCCESS) {
- ap_log_cerror(APLOG_MARK, APLOG_DEBUG, status, io->connection,
- "h2_conn_io: flush");
- return status;
+ if (force) {
+ APR_BRIGADE_INSERT_TAIL(io->output,
+ apr_bucket_flush_create(io->output->bucket_alloc));
}
-
+
+ ap_log_cerror(APLOG_MARK, APLOG_TRACE2, 0, io->connection,
+ "h2_conn_io: flush");
+ /* Send it out */
io->unflushed = 0;
+ return pass_out(io->output, io);
+ /* no more access after this, as we might have flushed an EOC bucket
+ * that de-allocated us all. */
}
return APR_SUCCESS;
}
+apr_status_t h2_conn_io_flush(h2_conn_io *io)
+{
+ return h2_conn_io_flush_int(io, 1);
+}
+
+apr_status_t h2_conn_io_pass(h2_conn_io *io)
+{
+ return h2_conn_io_flush_int(io, 0);
+}
\ No newline at end of file
Modified: httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_conn_io.h
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_conn_io.h?rev=1715218&r1=1715217&r2=1715218&view=diff
==============================================================================
--- httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_conn_io.h (original)
+++ httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_conn_io.h Thu Nov 19 17:14:03 2015
@@ -31,7 +31,7 @@ typedef struct {
apr_time_t cooldown_usecs;
apr_int64_t warmup_size;
- int write_size;
+ apr_size_t write_size;
apr_time_t last_write;
apr_int64_t bytes_written;
@@ -63,6 +63,7 @@ apr_status_t h2_conn_io_writeb(h2_conn_i
apr_status_t h2_conn_io_consider_flush(h2_conn_io *io);
+apr_status_t h2_conn_io_pass(h2_conn_io *io);
apr_status_t h2_conn_io_flush(h2_conn_io *io);
#endif /* defined(__mod_h2__h2_conn_io__) */
Modified: httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_from_h1.c
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_from_h1.c?rev=1715218&r1=1715217&r2=1715218&view=diff
==============================================================================
--- httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_from_h1.c (original)
+++ httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_from_h1.c Thu Nov 19 17:14:03 2015
@@ -59,11 +59,6 @@ apr_status_t h2_from_h1_destroy(h2_from_
return APR_SUCCESS;
}
-h2_from_h1_state_t h2_from_h1_get_state(h2_from_h1 *from_h1)
-{
- return from_h1->state;
-}
-
static void set_state(h2_from_h1 *from_h1, h2_from_h1_state_t state)
{
if (from_h1->state != state) {
@@ -79,15 +74,8 @@ h2_response *h2_from_h1_get_response(h2_
static apr_status_t make_h2_headers(h2_from_h1 *from_h1, request_rec *r)
{
from_h1->response = h2_response_create(from_h1->stream_id, 0,
- from_h1->status, from_h1->hlines,
+ from_h1->http_status, from_h1->hlines,
from_h1->pool);
- if (from_h1->response == NULL) {
- ap_log_cerror(APLOG_MARK, APLOG_ERR, APR_EINVAL, r->connection,
- APLOGNO(02915)
- "h2_from_h1(%d): unable to create resp_head",
- from_h1->stream_id);
- return APR_EINVAL;
- }
from_h1->content_length = from_h1->response->content_length;
from_h1->chunked = r->chunked;
@@ -202,8 +190,7 @@ apr_status_t h2_from_h1_read_response(h2
}
if (from_h1->state == H2_RESP_ST_STATUS_LINE) {
/* instead of parsing, just take it directly */
- from_h1->status = apr_psprintf(from_h1->pool,
- "%d", f->r->status);
+ from_h1->http_status = f->r->status;
from_h1->state = H2_RESP_ST_HEADERS;
}
else if (line[0] == '\0') {
@@ -417,7 +404,7 @@ static h2_response *create_response(h2_f
}
if (!apr_is_empty_array(r->content_languages)) {
- int i;
+ unsigned int i;
char *token;
char **languages = (char **)(r->content_languages->elts);
const char *field = apr_table_get(r->headers_out, "Content-Language");
Modified: httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_from_h1.h
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_from_h1.h?rev=1715218&r1=1715217&r2=1715218&view=diff
==============================================================================
--- httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_from_h1.h (original)
+++ httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_from_h1.h Thu Nov 19 17:14:03 2015
@@ -48,35 +48,25 @@ struct h2_from_h1 {
apr_pool_t *pool;
apr_bucket_brigade *bb;
- apr_size_t content_length;
+ apr_off_t content_length;
int chunked;
- const char *status;
+ int http_status;
apr_array_header_t *hlines;
struct h2_response *response;
};
-typedef void h2_from_h1_state_change_cb(struct h2_from_h1 *resp,
- h2_from_h1_state_t prevstate,
- void *cb_ctx);
-
h2_from_h1 *h2_from_h1_create(int stream_id, apr_pool_t *pool);
apr_status_t h2_from_h1_destroy(h2_from_h1 *response);
-void h2_from_h1_set_state_change_cb(h2_from_h1 *from_h1,
- h2_from_h1_state_change_cb *callback,
- void *cb_ctx);
-
apr_status_t h2_from_h1_read_response(h2_from_h1 *from_h1,
ap_filter_t* f, apr_bucket_brigade* bb);
struct h2_response *h2_from_h1_get_response(h2_from_h1 *from_h1);
-h2_from_h1_state_t h2_from_h1_get_state(h2_from_h1 *from_h1);
-
apr_status_t h2_response_output_filter(ap_filter_t *f, apr_bucket_brigade *bb);
#endif /* defined(__mod_h2__h2_from_h1__) */
Modified: httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_h2.c
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_h2.c?rev=1715218&r1=1715217&r2=1715218&view=diff
==============================================================================
--- httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_h2.c (original)
+++ httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_h2.c Thu Nov 19 17:14:03 2015
@@ -85,10 +85,9 @@ static const char *h2_err_descr[] = {
"http/1.1 required",
};
-const char *h2_h2_err_description(int h2_error)
+const char *h2_h2_err_description(unsigned int h2_error)
{
- if (h2_error >= 0
- && h2_error < (sizeof(h2_err_descr)/sizeof(h2_err_descr[0]))) {
+ if (h2_error < (sizeof(h2_err_descr)/sizeof(h2_err_descr[0]))) {
return h2_err_descr[h2_error];
}
return "unknown http/2 errotr code";
@@ -415,7 +414,7 @@ static void cipher_init(apr_pool_t *pool
{
apr_hash_t *hash = apr_hash_make(pool);
const char *source;
- int i;
+ unsigned int i;
source = "rfc7540";
for (i = 0; i < RFC7540_names_LEN; ++i) {
@@ -487,7 +486,7 @@ int h2_is_acceptable_connection(conn_rec
/* Need Tlsv1.2 or higher, rfc 7540, ch. 9.2
*/
- val = opt_ssl_var_lookup(pool, s, c, NULL, "SSL_PROTOCOL");
+ val = opt_ssl_var_lookup(pool, s, c, NULL, (char*)"SSL_PROTOCOL");
if (val && *val) {
if (strncmp("TLS", val, 3)
|| !strcmp("TLSv1", val)
@@ -506,7 +505,7 @@ int h2_is_acceptable_connection(conn_rec
/* Check TLS cipher blacklist
*/
- val = opt_ssl_var_lookup(pool, s, c, NULL, "SSL_CIPHER");
+ val = opt_ssl_var_lookup(pool, s, c, NULL, (char*)"SSL_CIPHER");
if (val && *val) {
const char *source;
if (cipher_is_blacklisted(val, &source)) {
@@ -652,7 +651,7 @@ int h2_h2_process_conn(conn_rec* c)
ap_log_cerror(APLOG_MARK, APLOG_TRACE1, 0, c,
"h2_h2, connection, h2 active");
- return h2_conn_main(c);
+ return h2_conn_process(c, NULL);
}
ap_log_cerror(APLOG_MARK, APLOG_TRACE1, 0, c, "h2_h2, declined");
@@ -665,7 +664,7 @@ static int h2_h2_post_read_req(request_r
struct h2_task *task = h2_ctx_get_task(ctx);
if (task) {
/* h2_task connection for a stream, not for h2c */
- ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r,
+ ap_log_rerror(APLOG_MARK, APLOG_TRACE3, 0, r,
"adding h1_to_h2_resp output filter");
if (task->serialize_headers) {
ap_remove_output_filter_byhandle(r->output_filters, "H1_TO_H2_RESP");
Modified: httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_h2.h
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_h2.h?rev=1715218&r1=1715217&r2=1715218&view=diff
==============================================================================
--- httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_h2.h (original)
+++ httpd/httpd/branches/2.4-http2-alpha/modules/http2/h2_h2.h Thu Nov 19 17:14:03 2015
@@ -51,13 +51,19 @@ extern const char *H2_MAGIC_TOKEN;
/* Maximum number of padding bytes in a frame, rfc7540 */
#define H2_MAX_PADLEN 256
+/* Initial default window size, RFC 7540 ch. 6.5.2 */
+#define H2_INITIAL_WINDOW_SIZE ((64*1024)-1)
+
+#define H2_HTTP_2XX(a) ((a) >= 200 && (a) < 300)
+
+#define H2_STREAM_CLIENT_INITIATED(id) (id&0x01)
/**
* Provide a user readable description of the HTTP/2 error code-
* @param h2_error http/2 error code, as in rfc 7540, ch. 7
* @return textual description of code or that it is unknown.
*/
-const char *h2_h2_err_description(int h2_error);
+const char *h2_h2_err_description(unsigned int h2_error);
/*
* One time, post config intialization.