Author: kkolinko Date: Sat Dec 13 22:09:30 2014 New Revision: 1645363 URL: http://svn.apache.org/r1645363 Log: Add addConnectorPort() to RemoteAddrValve and RemoteHostValve. Partial backports of r1642564,1642606 (trunk) resp. r1643513,1643539 (tc8) resp. r1643515,1643540 (tc7).
Modified: tomcat/tc6.0.x/trunk/ (props changed) tomcat/tc6.0.x/trunk/STATUS.txt tomcat/tc6.0.x/trunk/java/org/apache/catalina/valves/RemoteAddrValve.java tomcat/tc6.0.x/trunk/java/org/apache/catalina/valves/RemoteHostValve.java tomcat/tc6.0.x/trunk/java/org/apache/catalina/valves/mbeans-descriptors.xml tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml tomcat/tc6.0.x/trunk/webapps/docs/config/valve.xml Propchange: tomcat/tc6.0.x/trunk/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Sat Dec 13 22:09:30 2014 @@ -1,3 +1,3 @@ -/tomcat/tc7.0.x/trunk:1224802,1243045,1298635,1304471,1311997,1312007,1331772,1333164,1333176,1348992,1354866,1371298,1371302,1371620,1402110,1409014,1413553,1413557,1413563,1430083,1438415,1446641-1446660,1447013,1453106,1453119,1484919,1486877,1500065,1503852,1505844,1513151,1521040,1526470,1536524,1539176-1539177,1544469,1544473,1552805,1558894,1558917,1561368,1561382,1561386,1561552,1561561,1561636,1561641,1561643,1561737,1562748,1564317,1568922,1570163,1577328,1577464-1577465,1578814,1586659,1586897,1586960,1588199,1588997,1589740,1589851,1589997,1590019,1590028,1590337,1590492,1590651,1590838,1590845,1590848,1590912,1593262,1593288,1593371,1593835,1594230,1595174,1595366,1600956,1601333,1601856,1601909,1609079,1609606,1617364,1617374,1617433,1617457-1617458,1624249,1626579,1627420,1627469,1632586,1637686,1637711,1640675,1642045,1643572,1643585-1643586,1643642,1643647 -/tomcat/tc8.0.x/trunk:1637685,1637709,1640674,1641726,1641729-1641730,1643571,1643581-1643582 -/tomcat/trunk:601180,606992,612607,630314,640888,652744,653247,656018,666232,673796,673820,677910,683969,683982,684001,684081,684234,684269-684270,685177,687503,687645,689402,690781,691392,691805,692748,693378,694992,695053,695311,696780,696782,698012,698227,698236,698613,699427,699634,701355,709294,709811,709816,710063,710066,710125,710205,711126,711600,712461,712467,713953,714002,718360,719119,719124,719602,719626,719628,720046,720069,721040,721286,721708,721886,723404,723738,726052,727303,728032,728768,728947,729057,729567,729569,729571,729681,729809,729815,729934,730250,730590,731651,732859,732863,734734,740675,740684,742677,742697,742714,744160,744238,746321,746384,746425,747834,747863,748344,750258,750291,750921,751286-751287,751289,751295,752323,753039,757335,757774,758249,758365,758596,758616,758664,759074,761601,762868,762929,762936-762937,763166,763183,763193,763228,763262,763298,763302,763325,763599,763611,763654,763681,763706,764985,764997,765662,768335,769979,770716,770 809,770876,772872,776921,776924,776935,776945,777464,777466,777576,777625,778379,778523-778524,781528,781779,782145,782791,783316,783696,783724,783756,783762,783766,783863,783934,784453,784602,784614,785381,785688,785768,785859,786468,786487,786490,786496,786667,787627,787770,787985,789389,790405,791041,791184,791194,791224,791243,791326,791328,791789,792740,793372,793757,793882,793981,794082,794673,794822,795043,795152,795210,795457,795466,797168,797425,797596,797607,802727,802940,804462,804544,804734,805153,809131,809603,810916,810977,812125,812137,812432,813001,813013,813866,814180,814708,814876,815972,816252,817442,817822,819339,819361,820110,820132,820874,820954,821397,828196,828201,828210,828225,828759,830378-830379,830999,831106,831774,831785,831828,831850,831860,832214,832218,833121,833545,834047,835036,835336,836405,881396,881412,883130,883134,883146,883165,883177,883362,883565,884341,885038,885231,885241,885260,885901,885991,886019,888072,889363,889606,889716,890139,890265 ,890349-890350,890417,891185-891187,891583,892198,892341,892415,892464,892555,892812,892814,892817,892843,892887,893321,893493,894580,894586,894805,894831,895013,895045,895057,895191,895392,895703,896370,896384,897380-897381,897776,898126,898256,898468,898527,898555,898558,898718,898836,898906,899284,899348,899420,899653,899769-899770,899783,899788,899792,899916,899918-899919,899935,899949,903916,905020,905151,905722,905728,905735,907311,907513,907538,907652,907819,907825,907864,908002,908721,908754,908759,909097,909206,909212,909525,909636,909869,909875,909887,910266,910370,910442,910471,910485,910974,915226,915737,915861,916097,916141,916157,916170,917598,917633,918093,918489,918594,918684,918787,918792,918799,918803,918885,919851,919914,920025,920055,920298,920449,920596,920824,920840,921444,922010,926716,927062,927621,928482,928695,928732,928798,931709,932357,932967,935105,935983,939491,939551,940064,941356,941463,943112,944409,944416,945231,945808,945835,945841,946686,948057,95 0164,950596,950614,950851,950905,951615,953434,954435,955648,955655,956832,957130,957830,958192,960701,961948,962865,962872,962881,962900,963106,963865,963868,964614,966177-966178,966292,966692,966863,981815,988448,991837,993042,1001955,1002185,1002263,1002274,1002349,1002359,1002362,1002481,1002514,1003461,1003481,1003488,1003556,1003572,1003581,1003861,1004393,1004409,1004415,1004868-1004869,1004912,1005452,1005467,1005647,1005802,1022120,1022134,1022323,1022415,1022606,1022623,1024224,1024251,1026042,1026784,1026912,1026920,1029767,1033415,1033448,1033842,1033897,1037715,1037794,1037887,1037924,1038041,1041892,1042022,1042029,1042447,1042452,1042494,1043983,1044944,1044987,1049264,1050249,1055055,1055236,1055458,1055975,1056264,1056828,1056889,1059881,1060486,1061412,1061442,1061446,1061503,1062398,1064652,1066244,1066772,1067039,1067139,1069824,1070139,1070420,1070609,1072042,1073184,1073393,1075458,1076212,1078409,1078412,1079801,1081118,1081334,1088179,1088460,1090022,1094069, 1094089,1095138,1097899,1099575,1099586,1099772,1099789,1100145,1100822,1101094,1101144,1124680,1130774,1133014,1137862,1137996,1138950,1138953,1140693,1141104,1141441,1142043,1142904,1143134,1143150,1145137,1148216,1148471,1152601,1156171,1156519,1164567,1167394,1172233-1172234,1172236,1173614,1174353,1174882,1174884,1175158,1175190,1176799,1177125,1177245,1177850,1177862,1178228,1178233,1178684,1181028,1181136,1184917,1184919,1185200,1185588,1186011,1186104,1186123,1186137,1186153,1186378,1186712,1186763,1186949,1187381,1189240,1189386,1190388-1190389,1198622,1201576,1203091,1224801,1233426,1243034,1243038,1244567,1298140,1298628-1298629,1304468,1311997,1331766,1333161,1333173,1342498,1342503,1348425,1348461-1348495,1348989,1350294,1351056,1351636-1351640,1352011,1354685,1354847,1354856,1356125,1359981,1371283,1409007,1413552,1413556,1413562,1417282,1430079,1430481,1430567,1435606,1435636,1435642,1438411,1439054,1441348,1446640,1446650,1447012,1453105,1453112,1456666-1456678,14567 13,1456721,1457968,1460342,1460533,1484862,1486875,1492570,1494143,1500062,1503851,1505843,1513148-1513149,1526469,1533312,1536520,1539157,1539173,1540374,1552804,1555163,1558811,1561054-1561065,1561067-1561070,1561072-1561075,1561083,1561190-1561192,1561635,1561640,1561732,1562742,1562746,1564309,1564312,1568921,1574004,1577315,1577324,1577463,1578812-1578813,1586658,1586894,1586959,1588193,1588197,1589737-1589738,1589763,1589837,1589842,1589980,1590018,1590302,1590646,1590648,1590835,1590842,1590911,1593259,1593261,1593335,1593834,1594229,1595171,1595289,1597532,1600955,1600963,1600978,1600984,1601329-1601330,1601332,1601855,1608963,1609061,1609593,1617362,1617365,1617383,1617456,1623392,1624247,1626579,1627033,1632584,1637684,1637695,1640655-1640658,1641656,1641660,1641692,1641707-1641718,1641721-1641722,1643045,1643054,1643570 +/tomcat/tc7.0.x/trunk:1224802,1243045,1298635,1304471,1311997,1312007,1331772,1333164,1333176,1348992,1354866,1371298,1371302,1371620,1402110,1409014,1413553,1413557,1413563,1430083,1438415,1446641-1446660,1447013,1453106,1453119,1484919,1486877,1500065,1503852,1505844,1513151,1521040,1526470,1536524,1539176-1539177,1544469,1544473,1552805,1558894,1558917,1561368,1561382,1561386,1561552,1561561,1561636,1561641,1561643,1561737,1562748,1564317,1568922,1570163,1577328,1577464-1577465,1578814,1586659,1586897,1586960,1588199,1588997,1589740,1589851,1589997,1590019,1590028,1590337,1590492,1590651,1590838,1590845,1590848,1590912,1593262,1593288,1593371,1593835,1594230,1595174,1595366,1600956,1601333,1601856,1601909,1609079,1609606,1617364,1617374,1617433,1617457-1617458,1624249,1626579,1627420,1627469,1632586,1637686,1637711,1640675,1642045,1643515,1643540,1643572,1643585-1643586,1643642,1643647 +/tomcat/tc8.0.x/trunk:1637685,1637709,1640674,1641726,1641729-1641730,1643513,1643539,1643571,1643581-1643582 +/tomcat/trunk:601180,606992,612607,630314,640888,652744,653247,656018,666232,673796,673820,677910,683969,683982,684001,684081,684234,684269-684270,685177,687503,687645,689402,690781,691392,691805,692748,693378,694992,695053,695311,696780,696782,698012,698227,698236,698613,699427,699634,701355,709294,709811,709816,710063,710066,710125,710205,711126,711600,712461,712467,713953,714002,718360,719119,719124,719602,719626,719628,720046,720069,721040,721286,721708,721886,723404,723738,726052,727303,728032,728768,728947,729057,729567,729569,729571,729681,729809,729815,729934,730250,730590,731651,732859,732863,734734,740675,740684,742677,742697,742714,744160,744238,746321,746384,746425,747834,747863,748344,750258,750291,750921,751286-751287,751289,751295,752323,753039,757335,757774,758249,758365,758596,758616,758664,759074,761601,762868,762929,762936-762937,763166,763183,763193,763228,763262,763298,763302,763325,763599,763611,763654,763681,763706,764985,764997,765662,768335,769979,770716,770 809,770876,772872,776921,776924,776935,776945,777464,777466,777576,777625,778379,778523-778524,781528,781779,782145,782791,783316,783696,783724,783756,783762,783766,783863,783934,784453,784602,784614,785381,785688,785768,785859,786468,786487,786490,786496,786667,787627,787770,787985,789389,790405,791041,791184,791194,791224,791243,791326,791328,791789,792740,793372,793757,793882,793981,794082,794673,794822,795043,795152,795210,795457,795466,797168,797425,797596,797607,802727,802940,804462,804544,804734,805153,809131,809603,810916,810977,812125,812137,812432,813001,813013,813866,814180,814708,814876,815972,816252,817442,817822,819339,819361,820110,820132,820874,820954,821397,828196,828201,828210,828225,828759,830378-830379,830999,831106,831774,831785,831828,831850,831860,832214,832218,833121,833545,834047,835036,835336,836405,881396,881412,883130,883134,883146,883165,883177,883362,883565,884341,885038,885231,885241,885260,885901,885991,886019,888072,889363,889606,889716,890139,890265 ,890349-890350,890417,891185-891187,891583,892198,892341,892415,892464,892555,892812,892814,892817,892843,892887,893321,893493,894580,894586,894805,894831,895013,895045,895057,895191,895392,895703,896370,896384,897380-897381,897776,898126,898256,898468,898527,898555,898558,898718,898836,898906,899284,899348,899420,899653,899769-899770,899783,899788,899792,899916,899918-899919,899935,899949,903916,905020,905151,905722,905728,905735,907311,907513,907538,907652,907819,907825,907864,908002,908721,908754,908759,909097,909206,909212,909525,909636,909869,909875,909887,910266,910370,910442,910471,910485,910974,915226,915737,915861,916097,916141,916157,916170,917598,917633,918093,918489,918594,918684,918787,918792,918799,918803,918885,919851,919914,920025,920055,920298,920449,920596,920824,920840,921444,922010,926716,927062,927621,928482,928695,928732,928798,931709,932357,932967,935105,935983,939491,939551,940064,941356,941463,943112,944409,944416,945231,945808,945835,945841,946686,948057,95 0164,950596,950614,950851,950905,951615,953434,954435,955648,955655,956832,957130,957830,958192,960701,961948,962865,962872,962881,962900,963106,963865,963868,964614,966177-966178,966292,966692,966863,981815,988448,991837,993042,1001955,1002185,1002263,1002274,1002349,1002359,1002362,1002481,1002514,1003461,1003481,1003488,1003556,1003572,1003581,1003861,1004393,1004409,1004415,1004868-1004869,1004912,1005452,1005467,1005647,1005802,1022120,1022134,1022323,1022415,1022606,1022623,1024224,1024251,1026042,1026784,1026912,1026920,1029767,1033415,1033448,1033842,1033897,1037715,1037794,1037887,1037924,1038041,1041892,1042022,1042029,1042447,1042452,1042494,1043983,1044944,1044987,1049264,1050249,1055055,1055236,1055458,1055975,1056264,1056828,1056889,1059881,1060486,1061412,1061442,1061446,1061503,1062398,1064652,1066244,1066772,1067039,1067139,1069824,1070139,1070420,1070609,1072042,1073184,1073393,1075458,1076212,1078409,1078412,1079801,1081118,1081334,1088179,1088460,1090022,1094069, 1094089,1095138,1097899,1099575,1099586,1099772,1099789,1100145,1100822,1101094,1101144,1124680,1130774,1133014,1137862,1137996,1138950,1138953,1140693,1141104,1141441,1142043,1142904,1143134,1143150,1145137,1148216,1148471,1152601,1156171,1156519,1164567,1167394,1172233-1172234,1172236,1173614,1174353,1174882,1174884,1175158,1175190,1176799,1177125,1177245,1177850,1177862,1178228,1178233,1178684,1181028,1181136,1184917,1184919,1185200,1185588,1186011,1186104,1186123,1186137,1186153,1186378,1186712,1186763,1186949,1187381,1189240,1189386,1190388-1190389,1198622,1201576,1203091,1224801,1233426,1243034,1243038,1244567,1298140,1298628-1298629,1304468,1311997,1331766,1333161,1333173,1342498,1342503,1348425,1348461-1348495,1348989,1350294,1351056,1351636-1351640,1352011,1354685,1354847,1354856,1356125,1359981,1371283,1409007,1413552,1413556,1413562,1417282,1430079,1430481,1430567,1435606,1435636,1435642,1438411,1439054,1441348,1446640,1446650,1447012,1453105,1453112,1456666-1456678,14567 13,1456721,1457968,1460342,1460533,1484862,1486875,1492570,1494143,1500062,1503851,1505843,1513148-1513149,1526469,1533312,1536520,1539157,1539173,1540374,1552804,1555163,1558811,1561054-1561065,1561067-1561070,1561072-1561075,1561083,1561190-1561192,1561635,1561640,1561732,1562742,1562746,1564309,1564312,1568921,1574004,1577315,1577324,1577463,1578812-1578813,1586658,1586894,1586959,1588193,1588197,1589737-1589738,1589763,1589837,1589842,1589980,1590018,1590302,1590646,1590648,1590835,1590842,1590911,1593259,1593261,1593335,1593834,1594229,1595171,1595289,1597532,1600955,1600963,1600978,1600984,1601329-1601330,1601332,1601855,1608963,1609061,1609593,1617362,1617365,1617383,1617456,1623392,1624247,1626579,1627033,1632584,1637684,1637695,1640655-1640658,1641656,1641660,1641692,1641707-1641718,1641721-1641722,1642564,1642606,1643045,1643054,1643570 Modified: tomcat/tc6.0.x/trunk/STATUS.txt URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/STATUS.txt?rev=1645363&r1=1645362&r2=1645363&view=diff ============================================================================== --- tomcat/tc6.0.x/trunk/STATUS.txt (original) +++ tomcat/tc6.0.x/trunk/STATUS.txt Sat Dec 13 22:09:30 2014 @@ -28,13 +28,6 @@ None PATCHES PROPOSED TO BACKPORT: [ New proposals should be added at the end of the list ] -* Add addConnectorPort() to RemoteAddrValve and RemoteHostValve. - Partial backports of r1642564,1642606 (trunk) resp. r1643513,1643539 (tc8) - resp. r1643515,1643540 (tc7). - http://people.apache.org/~rjung/patches/RemoteXXXValve-addConnectorPort.patch - +1: rjung, kkolinko, markt, remm - -1: - * Fix potential issue when running EL under a security manager http://people.apache.org/~markt/patches/2014-12-09-el-security-manager-tc6-v1.patch +1: markt, kkolinko, remm Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/valves/RemoteAddrValve.java URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/valves/RemoteAddrValve.java?rev=1645363&r1=1645362&r2=1645363&view=diff ============================================================================== --- tomcat/tc6.0.x/trunk/java/org/apache/catalina/valves/RemoteAddrValve.java (original) +++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/valves/RemoteAddrValve.java Sat Dec 13 22:09:30 2014 @@ -27,7 +27,8 @@ import org.apache.catalina.connector.Res /** * Concrete implementation of <code>RequestFilterValve</code> that filters - * based on the string representation of the remote client's IP address. + * based on the string representation of the remote client's IP address + * optionally combined with the server connector port number. * * @author Craig R. McClanahan * @@ -47,6 +48,14 @@ public final class RemoteAddrValve "org.apache.catalina.valves.RemoteAddrValve/1.0"; + /** + * Flag deciding whether we add the server connector port to the property + * compared in the filtering method. The port will be appended + * using a ";" as a separator. + */ + protected volatile boolean addConnectorPort = false; + + // ------------------------------------------------------------- Properties @@ -60,6 +69,28 @@ public final class RemoteAddrValve } + /** + * Get the flag deciding whether we add the server connector port to the + * property compared in the filtering method. The port will be appended + * using a ";" as a separator. + */ + public boolean getAddConnectorPort() { + return addConnectorPort; + } + + + /** + * Set the flag deciding whether we add the server connector port to the + * property compared in the filtering method. The port will be appended + * using a ";" as a separator. + * + * @param addConnectorPort The new flag + */ + public void setAddConnectorPort(boolean addConnectorPort) { + this.addConnectorPort = addConnectorPort; + } + + // --------------------------------------------------------- Public Methods @@ -78,7 +109,13 @@ public final class RemoteAddrValve public void invoke(Request request, Response response) throws IOException, ServletException { - process(request.getRequest().getRemoteAddr(), request, response); + String property; + if (addConnectorPort) { + property = request.getRequest().getRemoteAddr() + ";" + request.getConnector().getPort(); + } else { + property = request.getRequest().getRemoteAddr(); + } + process(property, request, response); } Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/valves/RemoteHostValve.java URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/valves/RemoteHostValve.java?rev=1645363&r1=1645362&r2=1645363&view=diff ============================================================================== --- tomcat/tc6.0.x/trunk/java/org/apache/catalina/valves/RemoteHostValve.java (original) +++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/valves/RemoteHostValve.java Sat Dec 13 22:09:30 2014 @@ -27,7 +27,8 @@ import org.apache.catalina.connector.Res /** * Concrete implementation of <code>RequestFilterValve</code> that filters - * based on the remote client's host name. + * based on the remote client's host name optionally combined with the + * server connector port number. * * @author Craig R. McClanahan * @@ -47,6 +48,14 @@ public final class RemoteHostValve "org.apache.catalina.valves.RemoteHostValve/1.0"; + /** + * Flag deciding whether we add the server connector port to the property + * compared in the filtering method. The port will be appended + * using a ";" as a separator. + */ + protected volatile boolean addConnectorPort = false; + + // ------------------------------------------------------------- Properties @@ -60,6 +69,28 @@ public final class RemoteHostValve } + /** + * Get the flag deciding whether we add the server connector port to the + * property compared in the filtering method. The port will be appended + * using a ";" as a separator. + */ + public boolean getAddConnectorPort() { + return addConnectorPort; + } + + + /** + * Set the flag deciding whether we add the server connector port to the + * property compared in the filtering method. The port will be appended + * using a ";" as a separator. + * + * @param addConnectorPort The new flag + */ + public void setAddConnectorPort(boolean addConnectorPort) { + this.addConnectorPort = addConnectorPort; + } + + // --------------------------------------------------------- Public Methods @@ -78,7 +109,13 @@ public final class RemoteHostValve public void invoke(Request request, Response response) throws IOException, ServletException { - process(request.getRequest().getRemoteHost(), request, response); + String property; + if (addConnectorPort) { + property = request.getRequest().getRemoteHost() + ";" + request.getConnector().getPort(); + } else { + property = request.getRequest().getRemoteHost(); + } + process(property, request, response); } Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/valves/mbeans-descriptors.xml URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/valves/mbeans-descriptors.xml?rev=1645363&r1=1645362&r2=1645363&view=diff ============================================================================== --- tomcat/tc6.0.x/trunk/java/org/apache/catalina/valves/mbeans-descriptors.xml (original) +++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/valves/mbeans-descriptors.xml Sat Dec 13 22:09:30 2014 @@ -278,11 +278,16 @@ </mbean> <mbean name="RemoteAddrValve" - description="Concrete implementation of RequestFilterValve that filters based on the string representation of the remote client's IP address" + description="Concrete implementation of RequestFilterValve that filters based on the string representation of the remote client's IP address" domain="Catalina" group="Valve" type="org.apache.catalina.valves.RemoteAddrValve"> + <attribute name="addConnectorPort" + description="Append the server connector port to the client IP separated by a semicolon" + is="true" + type="boolean"/> + <attribute name="allow" description="The comma-delimited set of allow expressions" type="java.lang.String"/> @@ -297,12 +302,12 @@ description="Object name of the container" type="javax.management.ObjectName"/> - <attribute name="className" + <attribute name="className" description="Fully qualified class name of the managed object" type="java.lang.String" writeable="false"/> - <attribute name="deny" + <attribute name="deny" description="The comma-delimited set of deny expressions" type="java.lang.String"/> @@ -334,7 +339,12 @@ group="Valve" type="org.apache.catalina.valves.RemoteHostValve"> - <attribute name="allow" + <attribute name="addConnectorPort" + description="Append the server connector port to the client IP separated by a semicolon" + is="true" + type="boolean"/> + + <attribute name="allow" description="The comma-delimited set of allow expressions" type="java.lang.String"/> @@ -348,12 +358,12 @@ description="Object name of the container" type="javax.management.ObjectName"/> - <attribute name="className" + <attribute name="className" description="Fully qualified class name of the managed object" type="java.lang.String" writeable="false"/> - <attribute name="deny" + <attribute name="deny" description="The comma-delimited set of deny expressions" type="java.lang.String"/> Modified: tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml?rev=1645363&r1=1645362&r2=1645363&view=diff ============================================================================== --- tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml (original) +++ tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml Sat Dec 13 22:09:30 2014 @@ -49,6 +49,13 @@ <fix> Correct typo in a message. (kkolinko) </fix> + <add> + Allow to configure RemoteAddrValve and RemoteHostValve to + adopt behavior depending on the connector port. Implemented + by optionally adding the connector port to the string compared + with the patterns <code>allow</code> and <code>deny</code>. Configured + using <code>addConnectorPort</code> attribute on valve. (rjung) + </add> </changelog> </subsection> <subsection name="Coyote"> Modified: tomcat/tc6.0.x/trunk/webapps/docs/config/valve.xml URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/webapps/docs/config/valve.xml?rev=1645363&r1=1645362&r2=1645363&view=diff ============================================================================== --- tomcat/tc6.0.x/trunk/webapps/docs/config/valve.xml (original) +++ tomcat/tc6.0.x/trunk/webapps/docs/config/valve.xml Sat Dec 13 22:09:30 2014 @@ -251,6 +251,9 @@ package. Please consult the Java documentation for details of the expressions supported.</p> + <p>Optionally one can append the server connector port separated with a + comma (";") to allow different expressions for each connector.</p> + <p>See also: <a href="#Remote_Host_Filter">Remote Host Filter</a>, <a href="#Remote_IP_Valve">Remote IP Valve</a>.</p> @@ -282,7 +285,7 @@ that the remote client's IP address is compared to. If this attribute is specified, the remote address MUST NOT match for this request to be accepted. If this attribute is not specified, request acceptance is - governed solely by the <code>accept</code> attribute.</p> + governed solely by the <code>allow</code> attribute.</p> </attribute> <attribute name="denyStatus" required="false"> @@ -291,10 +294,28 @@ it can be set to the value <code>404</code>.</p> </attribute> + <attribute name="addConnectorPort" required="false"> + <p>Append the server connector port to the client IP address separated + with a semicolon (";"). If this is set to <code>true</code>, the + expressions configured with <code>allow</code> and + <code>deny</code> is compared against <code>ADDRESS;PORT</code> + where <code>ADDRESS</code> is the client IP address and + <code>PORT</code> is the Tomcat connector port which received the + request. The default value is <code>false</code>.</p> + </attribute> + </attributes> </subsection> + <subsection name="Example"> + <p>To allow unrestricted access for the clients connecting from localhost + but for all other clients only to port 8443:</p> + <source><![CDATA[<Valve className="org.apache.catalina.valves.RemoteAddrValve" + addConnectorPort="true" + allow="127\.\d+\.\d+\.\d+;\d*,::1;\d*,0:0:0:0:0:0:0:1;\d*,.*;8443"/>]]></source> + </subsection> + </section> @@ -316,6 +337,9 @@ package. Please consult the Java documentation for details of the expressions supported.</p> + <p>Optionally one can append the server connector port separated with a + comma (";") to allow different expressions for each connector.</p> + <p><strong>Note:</strong> This filter processes the value returned by method <code>ServletRequest.getRemoteHost()</code>. To allow the method to return proper host names, you have to enable "DNS lookups" feature on @@ -352,7 +376,7 @@ that the remote client's hostname is compared to. If this attribute is specified, the remote hostname MUST NOT match for this request to be accepted. If this attribute is not specified, request acceptance is - governed solely by the <code>accept</code> attribute.</p> + governed solely by the <code>allow</code> attribute.</p> </attribute> <attribute name="denyStatus" required="false"> @@ -361,6 +385,16 @@ it can be set to the value <code>404</code>.</p> </attribute> + <attribute name="addConnectorPort" required="false"> + <p>Append the server connector port to the client hostname separated + with a comma (";"). If this is set to <code>true</code>, the + expressions configured with <code>allow</code> and + <code>deny</code> is compared against <code>HOSTNAME;PORT</code> + where <code>HOSTNAME</code> is the client hostname and + <code>PORT</code> is the Tomcat connector port which received the + request. The default value is <code>false</code>.</p> + </attribute> + </attributes> </subsection> --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org