Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id A6B8E200D27 for ; Wed, 25 Oct 2017 15:26:49 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id A4D93160BDA; Wed, 25 Oct 2017 13:26:49 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id C42761609E5 for ; Wed, 25 Oct 2017 15:26:48 +0200 (CEST) Received: (qmail 25889 invoked by uid 500); 25 Oct 2017 13:26:48 -0000 Mailing-List: contact commits-help@apr.apache.org; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: Reply-To: dev@apr.apache.org List-Id: Delivered-To: mailing list commits@apr.apache.org Received: (qmail 25878 invoked by uid 99); 25 Oct 2017 13:26:47 -0000 Received: from Unknown (HELO svn01-us-west.apache.org) (209.188.14.144) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 25 Oct 2017 13:26:47 +0000 Received: from svn01-us-west.apache.org (localhost [127.0.0.1]) by svn01-us-west.apache.org (ASF Mail Server at svn01-us-west.apache.org) with ESMTP id 434603A0313 for ; Wed, 25 Oct 2017 13:26:45 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1813288 - in /apr/apr/branches/1.6.x: ./ CHANGES network_io/unix/sockaddr.c test/testipsub.c Date: Wed, 25 Oct 2017 13:26:42 -0000 To: commits@apr.apache.org From: jorton@apache.org X-Mailer: svnmailer-1.0.9 Message-Id: <20171025132646.434603A0313@svn01-us-west.apache.org> archived-at: Wed, 25 Oct 2017 13:26:49 -0000 Author: jorton Date: Wed Oct 25 13:26:42 2017 New Revision: 1813288 URL: http://svn.apache.org/viewvc?rev=1813288&view=rev Log: Merge r1813286 from trunk: * network_io/unix/sockaddr.c (apr_parse_addr_port): Fix regression in scope id parsing introduced in r1683521. * test/testipsub.c (test_parse_addr_port): New function. Submitted by: rjung, jorton Modified: apr/apr/branches/1.6.x/ (props changed) apr/apr/branches/1.6.x/CHANGES apr/apr/branches/1.6.x/network_io/unix/sockaddr.c apr/apr/branches/1.6.x/test/testipsub.c Propchange: apr/apr/branches/1.6.x/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Wed Oct 25 13:26:42 2017 @@ -1,6 +1,6 @@ /apr/apr/branches/1.4.x:1003369,1101301 /apr/apr/branches/1.5.x:1775071 /apr/apr/branches/1.7.x:1809650 -/apr/apr/trunk:733052,739635,741862,741866-741867,741869,741871,745763-745764,746310,747990,748080,748361,748371,748565,748888,748902,748988,749810,760443,767895,775683,782838,783398,783958,784633,784773,788588,789050,793192-793193,794118,794485,795267,799497,800627,809745,809854,810472,811455,813063,821306,829490,831641,832904,835607,888669,892028,892159,892435,892909,896382,896653,899905,901088,902077,902090,908427,910419,910597,917819,917837-917838,923311,923320,925965,929796,931973,932585,951771,960665,960671,979891,983618,989450,990435,1003338,1044440,1044447,1055657,1072165,1078845,1081462,1081495,1083038,1083242,1084662,1086695,1088023,1089031,1089129,1089438,1099348,1103310,1183683,1183685-1183686,1183688,1183693,1183698,1213382,1235047,1236970,1237078,1237507,1240472,1340286,1340288,1340470,1341193,1341196,1343233,1343243,1367050,1368819,1370494,1372018,1372022,1372093,1372849,1376957,1384764,1389077,1400200,1402868,1405985,1406690,1420106,1420109,1425356,1428809,1438940,14 38957-1438959,1442903,1449568,1456418,1459994,1460179-1460180,1460241,1460399,1460405,1462738,1462813,1470186,1470348,1475509,1478905,1480067,1481262,1481265,1484271,1487796,1489517,1496407,1502804,1510354,1516261,1523384,1523479,1523484,1523505,1523521,1523604,1523613,1523615,1523844-1523845,1523853,1524014,1524031,1528797,1528809,1529488,1529495,1529515,1529521,1529668,1530786,1530800,1530988,1531554,1531768,1531884,1532022,1533104,1533111,1533979,1535027,1535157,1536744,1538171,1539374,1539389,1539455,1539603,1541054,1541061,1541486,1541655,1541666,1541744,1542601,1542779,1543033,1543056,1548575,1550907,1551650,1551659,1558905,1559382,1559873,1559975,1561040,1561260,1561265,1561321,1561347,1561356,1561361,1561394,1561555,1571894,1575509,1578420,1587045,1587063,1587543,1587545,1588878,1588937,1589982,1593611,1593614-1593615,1593680,1594684,1594708,1595549,1597797,1597803,1604590,1604596,1604598,1605104,1610854,1611023,1611107,1611110,1611117,1611120,1611125,1611184,1611193,1611466 ,1611515,1611517,1625173,1626564,1634615,1642159,1648830,1664406,1664447,1664451,1664471,1664769-1664770,1664775,1664904,1664911,1664958,1666341,1666411,1666458,1666611,1667420-1667421,1667423,1667914-1667916,1671329,1671356,1671386,1671389,1671513-1671514,1671957,1672354,1672366,1672495,1672575,1675644,1675656,1675668,1676013,1683521,1685929,1696140,1696767,1722547,1722557,1726928,1727020,1727160,1727175,1727199,1728957,1733451,1733594,1733694,1733706,1733708,1733775,1734816,1736552,1738791,1738925,1750374,1755709,1755740,1755746,1755758,1755954,1762326,1774712,1775069,1776994,1776998,1788334,1788337,1788929,1789947,1789998,1790200,1791598,1798105,1805380,1808039,1808836,1809649,1809753,1810450,1810452 +/apr/apr/trunk:733052,739635,741862,741866-741867,741869,741871,745763-745764,746310,747990,748080,748361,748371,748565,748888,748902,748988,749810,760443,767895,775683,782838,783398,783958,784633,784773,788588,789050,793192-793193,794118,794485,795267,799497,800627,809745,809854,810472,811455,813063,821306,829490,831641,832904,835607,888669,892028,892159,892435,892909,896382,896653,899905,901088,902077,902090,908427,910419,910597,917819,917837-917838,923311,923320,925965,929796,931973,932585,951771,960665,960671,979891,983618,989450,990435,1003338,1044440,1044447,1055657,1072165,1078845,1081462,1081495,1083038,1083242,1084662,1086695,1088023,1089031,1089129,1089438,1099348,1103310,1183683,1183685-1183686,1183688,1183693,1183698,1213382,1235047,1236970,1237078,1237507,1240472,1340286,1340288,1340470,1341193,1341196,1343233,1343243,1367050,1368819,1370494,1372018,1372022,1372093,1372849,1376957,1384764,1389077,1400200,1402868,1405985,1406690,1420106,1420109,1425356,1428809,1438940,14 38957-1438959,1442903,1449568,1456418,1459994,1460179-1460180,1460241,1460399,1460405,1462738,1462813,1470186,1470348,1475509,1478905,1480067,1481262,1481265,1484271,1487796,1489517,1496407,1502804,1510354,1516261,1523384,1523479,1523484,1523505,1523521,1523604,1523613,1523615,1523844-1523845,1523853,1524014,1524031,1528797,1528809,1529488,1529495,1529515,1529521,1529668,1530786,1530800,1530988,1531554,1531768,1531884,1532022,1533104,1533111,1533979,1535027,1535157,1536744,1538171,1539374,1539389,1539455,1539603,1541054,1541061,1541486,1541655,1541666,1541744,1542601,1542779,1543033,1543056,1548575,1550907,1551650,1551659,1558905,1559382,1559873,1559975,1561040,1561260,1561265,1561321,1561347,1561356,1561361,1561394,1561555,1571894,1575509,1578420,1587045,1587063,1587543,1587545,1588878,1588937,1589982,1593611,1593614-1593615,1593680,1594684,1594708,1595549,1597797,1597803,1604590,1604596,1604598,1605104,1610854,1611023,1611107,1611110,1611117,1611120,1611125,1611184,1611193,1611466 ,1611515,1611517,1625173,1626564,1634615,1642159,1648830,1664406,1664447,1664451,1664471,1664769-1664770,1664775,1664904,1664911,1664958,1666341,1666411,1666458,1666611,1667420-1667421,1667423,1667914-1667916,1671329,1671356,1671386,1671389,1671513-1671514,1671957,1672354,1672366,1672495,1672575,1675644,1675656,1675668,1676013,1683521,1685929,1696140,1696767,1722547,1722557,1726928,1727020,1727160,1727175,1727199,1728957,1733451,1733594,1733694,1733706,1733708,1733775,1734816,1736552,1738791,1738925,1750374,1755709,1755740,1755746,1755758,1755954,1762326,1774712,1775069,1776994,1776998,1788334,1788337,1788929,1789947,1789998,1790200,1791598,1798105,1805380,1808039,1808836,1809649,1809753,1810450,1810452,1813286 /apr/apr/trunk/test/testnames.c:1460405 /httpd/httpd/trunk:1604590 Modified: apr/apr/branches/1.6.x/CHANGES URL: http://svn.apache.org/viewvc/apr/apr/branches/1.6.x/CHANGES?rev=1813288&r1=1813287&r2=1813288&view=diff ============================================================================== --- apr/apr/branches/1.6.x/CHANGES [utf-8] (original) +++ apr/apr/branches/1.6.x/CHANGES [utf-8] Wed Oct 25 13:26:42 2017 @@ -1,7 +1,8 @@ -*- coding: utf-8 -*- Changes for APR 1.6.4 - + *) Fix apr_parse_addr_port() regression in scope_id parsing introduced + in 1.6.3. [Rainer Jung] Changes for APR 1.6.3 Modified: apr/apr/branches/1.6.x/network_io/unix/sockaddr.c URL: http://svn.apache.org/viewvc/apr/apr/branches/1.6.x/network_io/unix/sockaddr.c?rev=1813288&r1=1813287&r2=1813288&view=diff ============================================================================== --- apr/apr/branches/1.6.x/network_io/unix/sockaddr.c (original) +++ apr/apr/branches/1.6.x/network_io/unix/sockaddr.c Wed Oct 25 13:26:42 2017 @@ -277,7 +277,7 @@ APR_DECLARE(apr_status_t) apr_parse_addr return APR_EINVAL; } addrlen = scope_delim - str - 1; - *scope_id = apr_pstrmemdup(p, scope_delim, end_bracket - scope_delim - 1); + *scope_id = apr_pstrmemdup(p, scope_delim + 1, end_bracket - scope_delim - 1); } else { addrlen = addrlen - 2; /* minus 2 for '[' and ']' */ Modified: apr/apr/branches/1.6.x/test/testipsub.c URL: http://svn.apache.org/viewvc/apr/apr/branches/1.6.x/test/testipsub.c?rev=1813288&r1=1813287&r2=1813288&view=diff ============================================================================== --- apr/apr/branches/1.6.x/test/testipsub.c (original) +++ apr/apr/branches/1.6.x/test/testipsub.c Wed Oct 25 13:26:42 2017 @@ -165,6 +165,52 @@ static void test_badip_str(abts_case *tc "The specified IP address is invalid."); } +static void test_parse_addr_port(abts_case *tc, void *data) +{ + const struct { + const char *input; + apr_status_t rv; + const char *addr, *scope_id; + apr_port_t port; + } *test, testcases[] = { + { "localhost:80", APR_SUCCESS, "localhost", NULL, 80 } + ,{ "www.example.com:8080", APR_SUCCESS, "www.example.com", NULL, 8080 } + ,{ "w:1", APR_SUCCESS, "w", NULL, 1 } + ,{ "127.0.0.1:80", APR_SUCCESS, "127.0.0.1", NULL, 80 } + ,{ "[::]:80", APR_SUCCESS, "::", NULL, 80 } + ,{ "localhost:999999", APR_EINVAL, NULL, NULL, 0 } + ,{ "localhost:0", APR_EINVAL, NULL, NULL, 0 } + ,{ "[::]z:80", APR_EINVAL, NULL, NULL, 0 } + ,{ "[:::80", APR_EINVAL, NULL, NULL, 0 } + ,{ "[zzzz]:80", APR_EINVAL, NULL, NULL, 0 } + ,{ "[::%]:80", APR_EINVAL, NULL, NULL, 0 } + ,{ "[::%eth0]:80", APR_SUCCESS, "::", "eth0", 80 } +/* ,{ "127.0.0.1:80x", APR_EINVAL, NULL, NULL, 0 } <- should fail, doesn't */ +/* ,{ "127.0.0.1x:80", APR_EINVAL, NULL, NULL, 0 } <- maybe should fail?, doesn't */ +/* ,{ "localhost:-1", APR_EINVAL, NULL, NULL, 0 } <- should fail, doesn't */ + }; + unsigned i; + + for (i = 0; i < (sizeof testcases / sizeof testcases[0]); i++) { + char *addr, *scope_id; + apr_port_t port; + apr_status_t rv; + + test = &testcases[i]; + + rv = apr_parse_addr_port(&addr, &scope_id, &port, test->input, p); + ABTS_INT_EQUAL(tc, test->rv, rv); + + if (test->rv != APR_SUCCESS) continue; + + APR_ASSERT_SUCCESS(tc, "parse address", test->rv); + + ABTS_STR_EQUAL(tc, test->addr, addr); + ABTS_STR_EQUAL(tc, test->scope_id, scope_id); + ABTS_INT_EQUAL(tc, test->port, port); + } +} + abts_suite *testipsub(abts_suite *suite) { suite = ADD_SUITE(suite) @@ -174,6 +220,7 @@ abts_suite *testipsub(abts_suite *suite) abts_run_test(suite, test_interesting_subnets, NULL); abts_run_test(suite, test_badmask_str, NULL); abts_run_test(suite, test_badip_str, NULL); + abts_run_test(suite, test_parse_addr_port, NULL); return suite; }