From: Kees Monshouwer Date: Fri, 21 Feb 2014 23:17:20 +0000 (+0100) Subject: remote-backend: change nonterm type for feedENT() and feedEnt3() X-Git-Tag: rec-3.6.0-rc1~169^2~13 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=cc1f757ffbc8564959b00e69637708eac558d831;p=thirdparty%2Fpdns.git remote-backend: change nonterm type for feedENT() and feedEnt3() --- diff --git a/modules/remotebackend/remotebackend.cc b/modules/remotebackend/remotebackend.cc index fc3d9799dd..580c890e9d 100644 --- a/modules/remotebackend/remotebackend.cc +++ b/modules/remotebackend/remotebackend.cc @@ -777,7 +777,7 @@ bool RemoteBackend::feedRecord(const DNSResourceRecord &rr, string *ordername) { return true; // XXX FIXME this API should not return 'true' I think -ahu } -bool RemoteBackend::feedEnts(int domain_id, set& nonterm) { +bool RemoteBackend::feedEnts(int domain_id, map& nonterm) { rapidjson::Document query,answer; rapidjson::Value parameters; rapidjson::Value nts; @@ -787,8 +787,9 @@ bool RemoteBackend::feedEnts(int domain_id, set& nonterm) { JSON_ADD_MEMBER(parameters, "domain_id", domain_id, query.GetAllocator()); JSON_ADD_MEMBER(parameters, "trxid", d_trxid, query.GetAllocator()); nts.SetArray(); - BOOST_FOREACH(const string &t, nonterm) { - nts.PushBack(t.c_str(), query.GetAllocator()); + pair t; + BOOST_FOREACH(t, nonterm) { + nts.PushBack(t.first.c_str(), query.GetAllocator()); } parameters.AddMember("nonterm", nts, query.GetAllocator()); query.AddMember("parameters", parameters, query.GetAllocator()); @@ -798,7 +799,7 @@ bool RemoteBackend::feedEnts(int domain_id, set& nonterm) { return true; } -bool RemoteBackend::feedEnts3(int domain_id, const string &domain, set &nonterm, unsigned int times, const string &salt, bool narrow) { +bool RemoteBackend::feedEnts3(int domain_id, const string &domain, map &nonterm, unsigned int times, const string &salt, bool narrow) { rapidjson::Document query,answer; rapidjson::Value parameters; rapidjson::Value nts; @@ -813,8 +814,9 @@ bool RemoteBackend::feedEnts3(int domain_id, const string &domain, set & JSON_ADD_MEMBER(parameters, "trxid", d_trxid, query.GetAllocator()); nts.SetArray(); - BOOST_FOREACH(const string &t, nonterm) { - nts.PushBack(t.c_str(), query.GetAllocator()); + pair t; + BOOST_FOREACH(t, nonterm) { + nts.PushBack(t.first.c_str(), query.GetAllocator()); } parameters.AddMember("nonterm", nts, query.GetAllocator()); query.AddMember("parameters", parameters, query.GetAllocator()); diff --git a/modules/remotebackend/remotebackend.hh b/modules/remotebackend/remotebackend.hh index 9bfa087ffe..f695c43740 100644 --- a/modules/remotebackend/remotebackend.hh +++ b/modules/remotebackend/remotebackend.hh @@ -149,8 +149,8 @@ class RemoteBackend : public DNSBackend virtual bool createSlaveDomain(const string &ip, const string &domain, const string &nameserver, const string &account); virtual bool replaceRRSet(uint32_t domain_id, const string& qname, const QType& qt, const vector& rrset); virtual bool feedRecord(const DNSResourceRecord &r, string *ordername); - virtual bool feedEnts(int domain_id, set& nonterm); - virtual bool feedEnts3(int domain_id, const string &domain, set &nonterm, unsigned int times, const string &salt, bool narrow); + virtual bool feedEnts(int domain_id, map& nonterm); + virtual bool feedEnts3(int domain_id, const string &domain, map &nonterm, unsigned int times, const string &salt, bool narrow); virtual bool startTransaction(const string &domain, int domain_id); virtual bool commitTransaction(); virtual bool abortTransaction(); diff --git a/modules/remotebackend/test-remotebackend.cc b/modules/remotebackend/test-remotebackend.cc index 8057d199a7..2e55e00fd9 100644 --- a/modules/remotebackend/test-remotebackend.cc +++ b/modules/remotebackend/test-remotebackend.cc @@ -258,7 +258,7 @@ BOOST_AUTO_TEST_CASE(test_method_replaceRRSet) { BOOST_AUTO_TEST_CASE(test_method_feedEnts) { BOOST_TEST_MESSAGE("Testing feedEnts method"); be->startTransaction("example.com",2); - set nonterm = boost::assign::list_of("_udp")("_sip._udp"); + map nonterm = boost::assign::map_list_of("_udp", true)("_sip._udp", true); BOOST_CHECK(be->feedEnts(2, nonterm)); be->commitTransaction(); } @@ -266,7 +266,7 @@ BOOST_AUTO_TEST_CASE(test_method_feedEnts) { BOOST_AUTO_TEST_CASE(test_method_feedEnts3) { BOOST_TEST_MESSAGE("Testing feedEnts3 method"); be->startTransaction("example.com",2); - set nonterm = boost::assign::list_of("_udp")("_sip._udp"); + map nonterm = boost::assign::map_list_of("_udp", true)("_sip._udp", true); BOOST_CHECK(be->feedEnts3(2, "example.com", nonterm, 1, "\xaa\xbb\xcc\xdd", 0)); be->commitTransaction(); }