From: Kees Monshouwer Date: Sat, 28 Dec 2013 16:05:57 +0000 (+0100) Subject: add toMasks and clear to NetmaskGroup class and use it X-Git-Tag: rec-3.6.0-rc1~263^2~3 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=68b011bd69b5f8d6694a38b549e79561db6f8ce8;p=pdns add toMasks and clear to NetmaskGroup class and use it --- diff --git a/pdns/dnsproxy.cc b/pdns/dnsproxy.cc index da80598fc..b4818013e 100644 --- a/pdns/dnsproxy.cc +++ b/pdns/dnsproxy.cc @@ -79,12 +79,7 @@ void DNSProxy::go() void DNSProxy::onlyFrom(const string &ips) { - vectorparts; - stringtok(parts,ips,", \t"); - for(vector::const_iterator i=parts.begin(); - i!=parts.end();++i) - d_ng.addMask(*i); - + d_ng.toMasks(ips); } bool DNSProxy::recurseFor(DNSPacket* p) diff --git a/pdns/dynlistener.cc b/pdns/dynlistener.cc index c2c43e281..1432da2e0 100644 --- a/pdns/dynlistener.cc +++ b/pdns/dynlistener.cc @@ -151,16 +151,8 @@ void DynListener::listenOnTCP(const ComboAddress& local) d_nonlocal=true; if(!::arg()["tcp-control-range"].empty()) { - vector ips; - stringtok(ips, ::arg()["tcp-control-range"], ", "); - L<::const_iterator i = ips.begin(); i!= ips.end(); ++i) { - d_tcprange.addMask(*i); - if(i!=ips.begin()) - L< parts; + stringtok(parts, ips, ", \t"); + + for (vector::const_iterator iter = parts.begin(); iter != parts.end(); ++iter) + addMask(*iter); + } + private: typedef vector container_t; - container_t d_masks; + container_t d_masks; }; diff --git a/pdns/tcpreceiver.cc b/pdns/tcpreceiver.cc index 5797711fa..57ff4a27e 100644 --- a/pdns/tcpreceiver.cc +++ b/pdns/tcpreceiver.cc @@ -854,11 +854,7 @@ TCPNameserver::TCPNameserver() if(locals.empty() && locals6.empty()) throw PDNSException("No local address specified"); - vector parts; - stringtok( parts, ::arg()["allow-axfr-ips"], ", \t" ); // is this IP on the guestlist? - for( vector::const_iterator i = parts.begin(); i != parts.end(); ++i ) { - d_ng.addMask( *i ); - } + d_ng.toMasks(::arg()["allow-axfr-ips"] ); signal(SIGPIPE,SIG_IGN); diff --git a/pdns/test-iputils_hh.cc b/pdns/test-iputils_hh.cc index d3f735d2e..4e81de0cc 100644 --- a/pdns/test-iputils_hh.cc +++ b/pdns/test-iputils_hh.cc @@ -46,12 +46,14 @@ BOOST_AUTO_TEST_CASE(test_Netmask) { BOOST_AUTO_TEST_CASE(test_NetmaskGroup) { NetmaskGroup ng; - ng.addMask("127.0.0.0/8"); - ng.addMask("10.0.0.0/24"); + ng.addMask("10.0.1.0"); + BOOST_CHECK(ng.match(ComboAddress("10.0.1.0"))); + ng.toMasks("127.0.0.0/8, 10.0.0.0/24"); BOOST_CHECK(ng.match(ComboAddress("127.0.0.1"))); BOOST_CHECK(ng.match(ComboAddress("10.0.0.3"))); + BOOST_CHECK(ng.match(ComboAddress("10.0.1.0"))); BOOST_CHECK(!ng.match(ComboAddress("128.1.2.3"))); - BOOST_CHECK(!ng.match(ComboAddress("10.0.1.0"))); + BOOST_CHECK(!ng.match(ComboAddress("10.0.1.1"))); BOOST_CHECK(!ng.match(ComboAddress("::1"))); ng.addMask("::1"); BOOST_CHECK(ng.match(ComboAddress("::1")));