From 7123e8384644e4244069c0164ce0f9e5275754a4 Mon Sep 17 00:00:00 2001 From: Otto Moerbeek Date: Mon, 22 Jul 2024 14:21:51 +0200 Subject: [PATCH] common: remove position from MOADNSParser::answers_t, it it used nowhere --- pdns/axfr-retriever.cc | 6 +- pdns/dnsbulktest.cc | 10 +-- pdns/dnsdistdist/dnsdist-tcp-downstream.cc | 8 +-- pdns/dnsdistdist/test-dnsdist-dnsparser.cc | 74 +++++++++++----------- pdns/dnsdistdist/test-dnsdist_cc.cc | 68 ++++++++++---------- pdns/dnspacket.cc | 12 ++-- pdns/dnsparser.cc | 4 +- pdns/dnsparser.hh | 3 +- pdns/dnsproxy.cc | 12 ++-- pdns/dnsrecords.cc | 8 +-- pdns/dnsreplay.cc | 10 +-- pdns/ixfr.cc | 24 +++---- pdns/ixfrutils.cc | 4 +- pdns/nsec3dig.cc | 22 +++---- pdns/recursordist/lwres.cc | 5 +- pdns/recursordist/rec-system-resolve.cc | 2 +- pdns/resolver.cc | 16 ++--- pdns/rfc2136handler.cc | 20 +++--- pdns/saxfr.cc | 32 +++++----- pdns/sdig.cc | 28 ++++---- pdns/speedtest.cc | 8 +-- pdns/stubresolver.cc | 4 +- pdns/tcpreceiver.cc | 2 +- pdns/test-dnsrecords_cc.cc | 2 +- pdns/test-tsig.cc | 12 ++-- pdns/tsigverifier.cc | 6 +- 26 files changed, 201 insertions(+), 201 deletions(-) diff --git a/pdns/axfr-retriever.cc b/pdns/axfr-retriever.cc index 9b2a4bf92e1a..17891bf6ab64 100644 --- a/pdns/axfr-retriever.cc +++ b/pdns/axfr-retriever.cc @@ -149,7 +149,7 @@ int AXFRRetriever::getChunk(Resolver::res_t &res, vector* records, ui if (!err) { for(const auto& answer : mdp.d_answers) - if (answer.first.d_type == QType::SOA) + if (answer.d_type == QType::SOA) d_soacount++; } } @@ -158,11 +158,11 @@ int AXFRRetriever::getChunk(Resolver::res_t &res, vector* records, ui records->reserve(mdp.d_answers.size()); for(auto& r: mdp.d_answers) { - if (r.first.d_type == QType::SOA) { + if (r.d_type == QType::SOA) { d_soacount++; } - records->push_back(std::move(r.first)); + records->push_back(std::move(r)); } } diff --git a/pdns/dnsbulktest.cc b/pdns/dnsbulktest.cc index fd1f6173f259..49ad38ab49e4 100644 --- a/pdns/dnsbulktest.cc +++ b/pdns/dnsbulktest.cc @@ -161,15 +161,15 @@ struct SendReceive } dnsResult.rcode = mdp.d_header.rcode; for (auto i = mdp.d_answers.begin(); i != mdp.d_answers.end(); ++i) { - if (i->first.d_place == 1 && i->first.d_type == mdp.d_qtype) { - dnsResult.ips.emplace_back(i->first.getContent()->getZoneRepresentation()); + if (i->d_place == 1 && i->d_type == mdp.d_qtype) { + dnsResult.ips.emplace_back(i->getContent()->getZoneRepresentation()); } - if (i->first.d_place == 2 && i->first.d_type == QType::SOA) { + if (i->d_place == 2 && i->d_type == QType::SOA) { dnsResult.seenauthsoa = true; } if (!g_quiet) { - cout << i->first.d_place - 1 << "\t" << i->first.d_name << "\tIN\t" << DNSRecordContent::NumberToType(i->first.d_type); - cout << "\t" << i->first.d_ttl << "\t" << i->first.getContent()->getZoneRepresentation() << "\n"; + cout << i->d_place - 1 << "\t" << i->d_name << "\tIN\t" << DNSRecordContent::NumberToType(i->d_type); + cout << "\t" << i->d_ttl << "\t" << i->getContent()->getZoneRepresentation() << "\n"; } } diff --git a/pdns/dnsdistdist/dnsdist-tcp-downstream.cc b/pdns/dnsdistdist/dnsdist-tcp-downstream.cc index 0e828939d575..5c269695f689 100644 --- a/pdns/dnsdistdist/dnsdist-tcp-downstream.cc +++ b/pdns/dnsdistdist/dnsdist-tcp-downstream.cc @@ -191,11 +191,11 @@ static bool getSerialFromIXFRQuery(TCPQuery& query) MOADNSParser parser(true, reinterpret_cast(query.d_buffer.data() + sizeof(uint16_t) + proxyPayloadSize), payloadSize); for (const auto& record : parser.d_answers) { - if (record.first.d_place != DNSResourceRecord::AUTHORITY || record.first.d_class != QClass::IN || record.first.d_type != QType::SOA) { + if (record.d_place != DNSResourceRecord::AUTHORITY || record.d_class != QClass::IN || record.d_type != QType::SOA) { return false; } - auto unknownContent = getRR(record.first); + auto unknownContent = getRR(record); if (!unknownContent) { return false; } @@ -815,11 +815,11 @@ bool TCPConnectionToBackend::isXFRFinished(const TCPResponse& response, TCPQuery } else { for (const auto& record : parser.d_answers) { - if (record.first.d_class != QClass::IN || record.first.d_type != QType::SOA) { + if (record.d_class != QClass::IN || record.d_type != QType::SOA) { continue; } - auto unknownContent = getRR(record.first); + auto unknownContent = getRR(record); if (!unknownContent) { continue; } diff --git a/pdns/dnsdistdist/test-dnsdist-dnsparser.cc b/pdns/dnsdistdist/test-dnsdist-dnsparser.cc index a7bb4e37b39a..caf5d42c5b90 100644 --- a/pdns/dnsdistdist/test-dnsdist-dnsparser.cc +++ b/pdns/dnsdistdist/test-dnsdist-dnsparser.cc @@ -117,14 +117,14 @@ BOOST_AUTO_TEST_CASE(test_Response) BOOST_CHECK_EQUAL(mdp.d_header.arcount, 2U); BOOST_REQUIRE_EQUAL(mdp.d_answers.size(), 3U); - BOOST_CHECK_EQUAL(mdp.d_answers.at(0).first.d_type, static_cast(QType::A)); - BOOST_CHECK_EQUAL(mdp.d_answers.at(0).first.d_class, QClass::IN); - BOOST_CHECK_EQUAL(mdp.d_answers.at(0).first.d_name, newTarget); - BOOST_CHECK_EQUAL(mdp.d_answers.at(1).first.d_type, static_cast(QType::AAAA)); - BOOST_CHECK_EQUAL(mdp.d_answers.at(1).first.d_class, QClass::IN); - BOOST_CHECK_EQUAL(mdp.d_answers.at(1).first.d_name, newTarget); - BOOST_CHECK_EQUAL(mdp.d_answers.at(2).first.d_type, static_cast(QType::OPT)); - BOOST_CHECK_EQUAL(mdp.d_answers.at(2).first.d_name, g_rootdnsname); + BOOST_CHECK_EQUAL(mdp.d_answers.at(0).d_type, static_cast(QType::A)); + BOOST_CHECK_EQUAL(mdp.d_answers.at(0).d_class, QClass::IN); + BOOST_CHECK_EQUAL(mdp.d_answers.at(0).d_name, newTarget); + BOOST_CHECK_EQUAL(mdp.d_answers.at(1).d_type, static_cast(QType::AAAA)); + BOOST_CHECK_EQUAL(mdp.d_answers.at(1).d_class, QClass::IN); + BOOST_CHECK_EQUAL(mdp.d_answers.at(1).d_name, newTarget); + BOOST_CHECK_EQUAL(mdp.d_answers.at(2).d_type, static_cast(QType::OPT)); + BOOST_CHECK_EQUAL(mdp.d_answers.at(2).d_name, g_rootdnsname); } { @@ -156,14 +156,14 @@ BOOST_AUTO_TEST_CASE(test_Response) BOOST_CHECK_EQUAL(mdp.d_header.arcount, 2U); BOOST_REQUIRE_EQUAL(mdp.d_answers.size(), 3U); - BOOST_CHECK_EQUAL(mdp.d_answers.at(0).first.d_type, static_cast(QType::A)); - BOOST_CHECK_EQUAL(mdp.d_answers.at(0).first.d_class, QClass::IN); - BOOST_CHECK_EQUAL(mdp.d_answers.at(0).first.d_name, newTarget); - BOOST_CHECK_EQUAL(mdp.d_answers.at(1).first.d_type, static_cast(QType::AAAA)); - BOOST_CHECK_EQUAL(mdp.d_answers.at(1).first.d_class, QClass::IN); - BOOST_CHECK_EQUAL(mdp.d_answers.at(1).first.d_name, notTheTarget); - BOOST_CHECK_EQUAL(mdp.d_answers.at(2).first.d_type, static_cast(QType::OPT)); - BOOST_CHECK_EQUAL(mdp.d_answers.at(2).first.d_name, g_rootdnsname); + BOOST_CHECK_EQUAL(mdp.d_answers.at(0).d_type, static_cast(QType::A)); + BOOST_CHECK_EQUAL(mdp.d_answers.at(0).d_class, QClass::IN); + BOOST_CHECK_EQUAL(mdp.d_answers.at(0).d_name, newTarget); + BOOST_CHECK_EQUAL(mdp.d_answers.at(1).d_type, static_cast(QType::AAAA)); + BOOST_CHECK_EQUAL(mdp.d_answers.at(1).d_class, QClass::IN); + BOOST_CHECK_EQUAL(mdp.d_answers.at(1).d_name, notTheTarget); + BOOST_CHECK_EQUAL(mdp.d_answers.at(2).d_type, static_cast(QType::OPT)); + BOOST_CHECK_EQUAL(mdp.d_answers.at(2).d_name, g_rootdnsname); } { @@ -194,18 +194,18 @@ BOOST_AUTO_TEST_CASE(test_Response) BOOST_CHECK_EQUAL(mdp.d_header.arcount, 1U); BOOST_REQUIRE_EQUAL(mdp.d_answers.size(), 3U); - BOOST_CHECK_EQUAL(mdp.d_answers.at(0).first.d_type, static_cast(QType::CNAME)); - BOOST_CHECK_EQUAL(mdp.d_answers.at(0).first.d_class, QClass::IN); - BOOST_CHECK_EQUAL(mdp.d_answers.at(0).first.d_name, newTarget); - auto content = getRR(mdp.d_answers.at(0).first); + BOOST_CHECK_EQUAL(mdp.d_answers.at(0).d_type, static_cast(QType::CNAME)); + BOOST_CHECK_EQUAL(mdp.d_answers.at(0).d_class, QClass::IN); + BOOST_CHECK_EQUAL(mdp.d_answers.at(0).d_name, newTarget); + auto content = getRR(mdp.d_answers.at(0)); BOOST_REQUIRE(content != nullptr); BOOST_CHECK_EQUAL(content->getRawContent().size(), notTheTarget.getStorage().size()); - BOOST_CHECK_EQUAL(mdp.d_answers.at(1).first.d_type, static_cast(QType::A)); - BOOST_CHECK_EQUAL(mdp.d_answers.at(1).first.d_class, QClass::IN); - BOOST_CHECK_EQUAL(mdp.d_answers.at(1).first.d_name, notTheTarget); - BOOST_CHECK_EQUAL(mdp.d_answers.at(2).first.d_type, static_cast(QType::OPT)); - BOOST_CHECK_EQUAL(mdp.d_answers.at(2).first.d_name, g_rootdnsname); + BOOST_CHECK_EQUAL(mdp.d_answers.at(1).d_type, static_cast(QType::A)); + BOOST_CHECK_EQUAL(mdp.d_answers.at(1).d_class, QClass::IN); + BOOST_CHECK_EQUAL(mdp.d_answers.at(1).d_name, notTheTarget); + BOOST_CHECK_EQUAL(mdp.d_answers.at(2).d_type, static_cast(QType::OPT)); + BOOST_CHECK_EQUAL(mdp.d_answers.at(2).d_name, g_rootdnsname); } { @@ -259,11 +259,11 @@ BOOST_AUTO_TEST_CASE(test_Response) BOOST_REQUIRE_EQUAL(mdp.d_answers.size(), 7U); for (const auto& answer : mdp.d_answers) { - if (answer.first.d_type == QType::OPT) { + if (answer.d_type == QType::OPT) { continue; } - BOOST_CHECK_EQUAL(answer.first.d_class, QClass::IN); - BOOST_CHECK_EQUAL(answer.first.d_name, newTarget); + BOOST_CHECK_EQUAL(answer.d_class, QClass::IN); + BOOST_CHECK_EQUAL(answer.d_name, newTarget); } } @@ -322,11 +322,11 @@ BOOST_AUTO_TEST_CASE(test_Response) BOOST_REQUIRE_EQUAL(mdp.d_answers.size(), 8U); for (const auto& answer : mdp.d_answers) { - if (answer.first.d_type == QType::OPT) { + if (answer.d_type == QType::OPT) { continue; } - BOOST_CHECK_EQUAL(answer.first.d_class, QClass::IN); - BOOST_CHECK_EQUAL(answer.first.d_name, target); + BOOST_CHECK_EQUAL(answer.d_class, QClass::IN); + BOOST_CHECK_EQUAL(answer.d_name, target); } } @@ -344,11 +344,11 @@ BOOST_AUTO_TEST_CASE(test_Response) BOOST_REQUIRE_EQUAL(mdp.d_answers.size(), 8U); for (const auto& answer : mdp.d_answers) { - if (answer.first.d_type == QType::OPT) { + if (answer.d_type == QType::OPT) { continue; } - BOOST_CHECK_EQUAL(answer.first.d_class, QClass::IN); - BOOST_CHECK_EQUAL(answer.first.d_name, newTarget); + BOOST_CHECK_EQUAL(answer.d_class, QClass::IN); + BOOST_CHECK_EQUAL(answer.d_name, newTarget); } } } @@ -377,9 +377,9 @@ BOOST_AUTO_TEST_CASE(test_Response) BOOST_CHECK_EQUAL(mdp.d_header.arcount, 1U); BOOST_REQUIRE_EQUAL(mdp.d_answers.size(), 2U); - BOOST_CHECK_EQUAL(mdp.d_answers.at(0).first.d_type, static_cast(QType::ALIAS)); - BOOST_CHECK_EQUAL(mdp.d_answers.at(0).first.d_class, QClass::IN); - BOOST_CHECK_EQUAL(mdp.d_answers.at(0).first.d_name, target); + BOOST_CHECK_EQUAL(mdp.d_answers.at(0).d_type, static_cast(QType::ALIAS)); + BOOST_CHECK_EQUAL(mdp.d_answers.at(0).d_class, QClass::IN); + BOOST_CHECK_EQUAL(mdp.d_answers.at(0).d_name, target); } } diff --git a/pdns/dnsdistdist/test-dnsdist_cc.cc b/pdns/dnsdistdist/test-dnsdist_cc.cc index 0dfba4629792..10c67e5c1916 100644 --- a/pdns/dnsdistdist/test-dnsdist_cc.cc +++ b/pdns/dnsdistdist/test-dnsdist_cc.cc @@ -1987,9 +1987,9 @@ BOOST_AUTO_TEST_CASE(test_setNegativeAndAdditionalSOA) BOOST_CHECK_EQUAL(mdp.d_header.nscount, 0U); BOOST_CHECK_EQUAL(mdp.d_header.arcount, 1U); BOOST_REQUIRE_EQUAL(mdp.d_answers.size(), 1U); - BOOST_CHECK_EQUAL(mdp.d_answers.at(0).first.d_type, static_cast(QType::SOA)); - BOOST_CHECK_EQUAL(mdp.d_answers.at(0).first.d_class, QClass::IN); - BOOST_CHECK_EQUAL(mdp.d_answers.at(0).first.d_name, DNSName("zone.")); + BOOST_CHECK_EQUAL(mdp.d_answers.at(0).d_type, static_cast(QType::SOA)); + BOOST_CHECK_EQUAL(mdp.d_answers.at(0).d_class, QClass::IN); + BOOST_CHECK_EQUAL(mdp.d_answers.at(0).d_name, DNSName("zone.")); } { /* now with incoming EDNS */ @@ -2010,11 +2010,11 @@ BOOST_AUTO_TEST_CASE(test_setNegativeAndAdditionalSOA) BOOST_CHECK_EQUAL(mdp.d_header.nscount, 0U); BOOST_CHECK_EQUAL(mdp.d_header.arcount, 2U); BOOST_REQUIRE_EQUAL(mdp.d_answers.size(), 2U); - BOOST_CHECK_EQUAL(mdp.d_answers.at(0).first.d_type, static_cast(QType::SOA)); - BOOST_CHECK_EQUAL(mdp.d_answers.at(0).first.d_class, QClass::IN); - BOOST_CHECK_EQUAL(mdp.d_answers.at(0).first.d_name, DNSName("zone.")); - BOOST_CHECK_EQUAL(mdp.d_answers.at(1).first.d_type, static_cast(QType::OPT)); - BOOST_CHECK_EQUAL(mdp.d_answers.at(1).first.d_name, g_rootdnsname); + BOOST_CHECK_EQUAL(mdp.d_answers.at(0).d_type, static_cast(QType::SOA)); + BOOST_CHECK_EQUAL(mdp.d_answers.at(0).d_class, QClass::IN); + BOOST_CHECK_EQUAL(mdp.d_answers.at(0).d_name, DNSName("zone.")); + BOOST_CHECK_EQUAL(mdp.d_answers.at(1).d_type, static_cast(QType::OPT)); + BOOST_CHECK_EQUAL(mdp.d_answers.at(1).d_name, g_rootdnsname); } /* test No Data */ @@ -2037,9 +2037,9 @@ BOOST_AUTO_TEST_CASE(test_setNegativeAndAdditionalSOA) BOOST_CHECK_EQUAL(mdp.d_header.nscount, 0U); BOOST_CHECK_EQUAL(mdp.d_header.arcount, 1U); BOOST_REQUIRE_EQUAL(mdp.d_answers.size(), 1U); - BOOST_CHECK_EQUAL(mdp.d_answers.at(0).first.d_type, static_cast(QType::SOA)); - BOOST_CHECK_EQUAL(mdp.d_answers.at(0).first.d_class, QClass::IN); - BOOST_CHECK_EQUAL(mdp.d_answers.at(0).first.d_name, DNSName("zone.")); + BOOST_CHECK_EQUAL(mdp.d_answers.at(0).d_type, static_cast(QType::SOA)); + BOOST_CHECK_EQUAL(mdp.d_answers.at(0).d_class, QClass::IN); + BOOST_CHECK_EQUAL(mdp.d_answers.at(0).d_name, DNSName("zone.")); } { /* now with incoming EDNS */ @@ -2060,11 +2060,11 @@ BOOST_AUTO_TEST_CASE(test_setNegativeAndAdditionalSOA) BOOST_CHECK_EQUAL(mdp.d_header.nscount, 0U); BOOST_CHECK_EQUAL(mdp.d_header.arcount, 2U); BOOST_REQUIRE_EQUAL(mdp.d_answers.size(), 2U); - BOOST_CHECK_EQUAL(mdp.d_answers.at(0).first.d_type, static_cast(QType::SOA)); - BOOST_CHECK_EQUAL(mdp.d_answers.at(0).first.d_class, QClass::IN); - BOOST_CHECK_EQUAL(mdp.d_answers.at(0).first.d_name, DNSName("zone.")); - BOOST_CHECK_EQUAL(mdp.d_answers.at(1).first.d_type, static_cast(QType::OPT)); - BOOST_CHECK_EQUAL(mdp.d_answers.at(1).first.d_name, g_rootdnsname); + BOOST_CHECK_EQUAL(mdp.d_answers.at(0).d_type, static_cast(QType::SOA)); + BOOST_CHECK_EQUAL(mdp.d_answers.at(0).d_class, QClass::IN); + BOOST_CHECK_EQUAL(mdp.d_answers.at(0).d_name, DNSName("zone.")); + BOOST_CHECK_EQUAL(mdp.d_answers.at(1).d_type, static_cast(QType::OPT)); + BOOST_CHECK_EQUAL(mdp.d_answers.at(1).d_name, g_rootdnsname); } /* SOA in the authority section*/ @@ -2090,9 +2090,9 @@ BOOST_AUTO_TEST_CASE(test_setNegativeAndAdditionalSOA) BOOST_CHECK_EQUAL(mdp.d_header.nscount, 1U); BOOST_CHECK_EQUAL(mdp.d_header.arcount, 0U); BOOST_REQUIRE_EQUAL(mdp.d_answers.size(), 1U); - BOOST_CHECK_EQUAL(mdp.d_answers.at(0).first.d_type, static_cast(QType::SOA)); - BOOST_CHECK_EQUAL(mdp.d_answers.at(0).first.d_class, QClass::IN); - BOOST_CHECK_EQUAL(mdp.d_answers.at(0).first.d_name, DNSName("zone.")); + BOOST_CHECK_EQUAL(mdp.d_answers.at(0).d_type, static_cast(QType::SOA)); + BOOST_CHECK_EQUAL(mdp.d_answers.at(0).d_class, QClass::IN); + BOOST_CHECK_EQUAL(mdp.d_answers.at(0).d_name, DNSName("zone.")); } { /* now with incoming EDNS */ @@ -2113,11 +2113,11 @@ BOOST_AUTO_TEST_CASE(test_setNegativeAndAdditionalSOA) BOOST_CHECK_EQUAL(mdp.d_header.nscount, 1U); BOOST_CHECK_EQUAL(mdp.d_header.arcount, 1U); BOOST_REQUIRE_EQUAL(mdp.d_answers.size(), 2U); - BOOST_CHECK_EQUAL(mdp.d_answers.at(0).first.d_type, static_cast(QType::SOA)); - BOOST_CHECK_EQUAL(mdp.d_answers.at(0).first.d_class, QClass::IN); - BOOST_CHECK_EQUAL(mdp.d_answers.at(0).first.d_name, DNSName("zone.")); - BOOST_CHECK_EQUAL(mdp.d_answers.at(1).first.d_type, static_cast(QType::OPT)); - BOOST_CHECK_EQUAL(mdp.d_answers.at(1).first.d_name, g_rootdnsname); + BOOST_CHECK_EQUAL(mdp.d_answers.at(0).d_type, static_cast(QType::SOA)); + BOOST_CHECK_EQUAL(mdp.d_answers.at(0).d_class, QClass::IN); + BOOST_CHECK_EQUAL(mdp.d_answers.at(0).d_name, DNSName("zone.")); + BOOST_CHECK_EQUAL(mdp.d_answers.at(1).d_type, static_cast(QType::OPT)); + BOOST_CHECK_EQUAL(mdp.d_answers.at(1).d_name, g_rootdnsname); } /* test No Data */ @@ -2140,9 +2140,9 @@ BOOST_AUTO_TEST_CASE(test_setNegativeAndAdditionalSOA) BOOST_CHECK_EQUAL(mdp.d_header.nscount, 1U); BOOST_CHECK_EQUAL(mdp.d_header.arcount, 0U); BOOST_REQUIRE_EQUAL(mdp.d_answers.size(), 1U); - BOOST_CHECK_EQUAL(mdp.d_answers.at(0).first.d_type, static_cast(QType::SOA)); - BOOST_CHECK_EQUAL(mdp.d_answers.at(0).first.d_class, QClass::IN); - BOOST_CHECK_EQUAL(mdp.d_answers.at(0).first.d_name, DNSName("zone.")); + BOOST_CHECK_EQUAL(mdp.d_answers.at(0).d_type, static_cast(QType::SOA)); + BOOST_CHECK_EQUAL(mdp.d_answers.at(0).d_class, QClass::IN); + BOOST_CHECK_EQUAL(mdp.d_answers.at(0).d_name, DNSName("zone.")); } { /* now with incoming EDNS */ @@ -2163,11 +2163,11 @@ BOOST_AUTO_TEST_CASE(test_setNegativeAndAdditionalSOA) BOOST_CHECK_EQUAL(mdp.d_header.nscount, 1U); BOOST_CHECK_EQUAL(mdp.d_header.arcount, 1U); BOOST_REQUIRE_EQUAL(mdp.d_answers.size(), 2U); - BOOST_CHECK_EQUAL(mdp.d_answers.at(0).first.d_type, static_cast(QType::SOA)); - BOOST_CHECK_EQUAL(mdp.d_answers.at(0).first.d_class, QClass::IN); - BOOST_CHECK_EQUAL(mdp.d_answers.at(0).first.d_name, DNSName("zone.")); - BOOST_CHECK_EQUAL(mdp.d_answers.at(1).first.d_type, static_cast(QType::OPT)); - BOOST_CHECK_EQUAL(mdp.d_answers.at(1).first.d_name, g_rootdnsname); + BOOST_CHECK_EQUAL(mdp.d_answers.at(0).d_type, static_cast(QType::SOA)); + BOOST_CHECK_EQUAL(mdp.d_answers.at(0).d_class, QClass::IN); + BOOST_CHECK_EQUAL(mdp.d_answers.at(0).d_name, DNSName("zone.")); + BOOST_CHECK_EQUAL(mdp.d_answers.at(1).d_type, static_cast(QType::OPT)); + BOOST_CHECK_EQUAL(mdp.d_answers.at(1).d_name, g_rootdnsname); } } @@ -2282,8 +2282,8 @@ BOOST_AUTO_TEST_CASE(test_setEDNSOption) BOOST_CHECK_EQUAL(mdp.d_header.ancount, 0U); BOOST_CHECK_EQUAL(mdp.d_header.nscount, 0U); BOOST_CHECK_EQUAL(mdp.d_header.arcount, 1U); - BOOST_CHECK_EQUAL(mdp.d_answers.at(0).first.d_type, static_cast(QType::OPT)); - BOOST_CHECK_EQUAL(mdp.d_answers.at(0).first.d_name, g_rootdnsname); + BOOST_CHECK_EQUAL(mdp.d_answers.at(0).d_type, static_cast(QType::OPT)); + BOOST_CHECK_EQUAL(mdp.d_answers.at(0).d_name, g_rootdnsname); EDNS0Record edns0{}; BOOST_REQUIRE(getEDNS0Record(dnsQuestion.getData(), edns0)); diff --git a/pdns/dnspacket.cc b/pdns/dnspacket.cc index 471af2a46ef0..5059c5b41501 100644 --- a/pdns/dnspacket.cc +++ b/pdns/dnspacket.cc @@ -513,15 +513,15 @@ bool DNSPacket::getTSIGDetails(TSIGRecordContent* trc, DNSName* keyname, uint16_ bool gotit=false; for(const auto & answer : mdp.d_answers) { - if(answer.first.d_type == QType::TSIG && answer.first.d_class == QType::ANY) { + if(answer.d_type == QType::TSIG && answer.d_class == QType::ANY) { // cast can fail, f.e. if d_content is an UnknownRecordContent. - auto content = getRR(answer.first); + auto content = getRR(answer); if (!content) { g_log<(answer.first); + auto content = getRR(answer); if (!content) { g_log< > answers_t; + using answers_t = vector; //! All answers contained in this packet (everything *but* the question section) answers_t d_answers; diff --git a/pdns/dnsproxy.cc b/pdns/dnsproxy.cc index 26a0aa0805f4..19adff21cb16 100644 --- a/pdns/dnsproxy.cc +++ b/pdns/dnsproxy.cc @@ -277,15 +277,15 @@ void DNSProxy::mainloop() if (mdp.d_header.rcode == RCode::NoError) { for (const auto& answer : mdp.d_answers) { - if (answer.first.d_place == DNSResourceRecord::ANSWER || (answer.first.d_place == DNSResourceRecord::AUTHORITY && answer.first.d_type == QType::SOA)) { + if (answer.d_place == DNSResourceRecord::ANSWER || (answer.d_place == DNSResourceRecord::AUTHORITY && answer.d_type == QType::SOA)) { - if (answer.first.d_type == iter->second.qtype || (iter->second.qtype == QType::ANY && (answer.first.d_type == QType::A || answer.first.d_type == QType::AAAA))) { + if (answer.d_type == iter->second.qtype || (iter->second.qtype == QType::ANY && (answer.d_type == QType::A || answer.d_type == QType::AAAA))) { DNSZoneRecord dzr; dzr.dr.d_name = iter->second.aname; - dzr.dr.d_type = answer.first.d_type; - dzr.dr.d_ttl = answer.first.d_ttl; - dzr.dr.d_place = answer.first.d_place; - dzr.dr.setContent(answer.first.getContent()); + dzr.dr.d_type = answer.d_type; + dzr.dr.d_ttl = answer.d_ttl; + dzr.dr.d_place = answer.d_place; + dzr.dr.setContent(answer.getContent()); iter->second.complete->addRecord(std::move(dzr)); } } diff --git a/pdns/dnsrecords.cc b/pdns/dnsrecords.cc index a7c752be1fa9..8f9c05122368 100644 --- a/pdns/dnsrecords.cc +++ b/pdns/dnsrecords.cc @@ -884,18 +884,18 @@ bool getEDNSOpts(const MOADNSParser& mdp, EDNSOpts* eo) eo->d_extFlags=0; if(mdp.d_header.arcount && !mdp.d_answers.empty()) { for(const MOADNSParser::answers_t::value_type& val : mdp.d_answers) { - if(val.first.d_place == DNSResourceRecord::ADDITIONAL && val.first.d_type == QType::OPT) { - eo->d_packetsize=val.first.d_class; + if(val.d_place == DNSResourceRecord::ADDITIONAL && val.d_type == QType::OPT) { + eo->d_packetsize=val.d_class; EDNS0Record stuff; - uint32_t ttl=ntohl(val.first.d_ttl); + uint32_t ttl=ntohl(val.d_ttl); static_assert(sizeof(EDNS0Record) == sizeof(uint32_t), "sizeof(EDNS0Record) must match sizeof(uint32_t)"); memcpy(&stuff, &ttl, sizeof(stuff)); eo->d_extRCode=stuff.extRCode; eo->d_version=stuff.version; eo->d_extFlags = ntohs(stuff.extFlags); - auto orc = getRR(val.first); + auto orc = getRR(val); if(orc == nullptr) return false; orc->getData(eo->d_options); diff --git a/pdns/dnsreplay.cc b/pdns/dnsreplay.cc index 36f0db835b4f..6426fba6ed39 100644 --- a/pdns/dnsreplay.cc +++ b/pdns/dnsreplay.cc @@ -242,8 +242,8 @@ static void WeOrigSlowQueriesDelta(int& weOutstanding, int& origOutstanding, int static void compactAnswerSet(MOADNSParser::answers_t orig, set& compacted) { for(MOADNSParser::answers_t::const_iterator i=orig.begin(); i != orig.end(); ++i) - if(i->first.d_place==DNSResourceRecord::ANSWER) - compacted.insert(i->first); + if(i->d_place==DNSResourceRecord::ANSWER) + compacted.insert(*i); } static bool isRcodeOk(int rcode) @@ -260,10 +260,10 @@ static bool isRootReferral(const MOADNSParser::answers_t& answers) bool ok=true; for(MOADNSParser::answers_t::const_iterator iter = answers.begin(); iter != answers.end(); ++iter) { - // cerr<<(int)iter->first.d_place<<", "<first.d_name<<" "<first.d_type<<", # "<first.d_place!=2) + // cerr<<(int)iter->d_place<<", "<d_name<<" "<d_type<<", # "<d_place!=2) ok=false; - if(!iter->first.d_name.isRoot() || iter->first.d_type!=QType::NS) + if(!iter->d_name.isRoot() || iter->d_type!=QType::NS) ok=false; } return ok; diff --git a/pdns/ixfr.cc b/pdns/ixfr.cc index ac041cb00905..0a7ee6d593d5 100644 --- a/pdns/ixfr.cc +++ b/pdns/ixfr.cc @@ -259,11 +259,11 @@ vector, vector>> getIXFRDeltas(const ComboAddr for (auto& r: mdp.d_answers) { if(!primarySOA) { // we have not seen the first SOA record yet - if (r.first.d_type != QType::SOA) { - throw std::runtime_error("The first record of the IXFR answer for zone '"+zone.toLogString()+"' from primary '"+primary.toStringWithPort()+"' is not a SOA ("+QType(r.first.d_type).toString()+")"); + if (r.d_type != QType::SOA) { + throw std::runtime_error("The first record of the IXFR answer for zone '"+zone.toLogString()+"' from primary '"+primary.toStringWithPort()+"' is not a SOA ("+QType(r.d_type).toString()+")"); } - auto sr = getRR(r.first); + auto sr = getRR(r); if (!sr) { throw std::runtime_error("Error getting the content of the first SOA record of the IXFR answer for zone '"+zone.toLogString()+"' from primary '"+primary.toStringWithPort()+"'"); } @@ -274,8 +274,8 @@ vector, vector>> getIXFRDeltas(const ComboAddr } primarySOA = std::move(sr); ++primarySOACount; - } else if (r.first.d_type == QType::SOA) { - auto sr = getRR(r.first); + } else if (r.d_type == QType::SOA) { + auto sr = getRR(r); if (!sr) { throw std::runtime_error("Error getting the content of SOA record of IXFR answer for zone '"+zone.toLogString()+"' from primary '"+primary.toStringWithPort()+"'"); } @@ -287,7 +287,7 @@ vector, vector>> getIXFRDeltas(const ComboAddr } // When we see the 2nd record, we can decide what the style is if (records.size() == 1 && style == Unknown) { - if (r.first.d_type != QType::SOA) { + if (r.d_type != QType::SOA) { // Non-empty AXFR style has a non-SOA record following the first SOA style = AXFR; } @@ -301,18 +301,18 @@ vector, vector>> getIXFRDeltas(const ComboAddr } } - if(r.first.d_place != DNSResourceRecord::ANSWER) { - if(r.first.d_type == QType::TSIG) + if(r.d_place != DNSResourceRecord::ANSWER) { + if(r.d_type == QType::TSIG) continue; - if(r.first.d_type == QType::OPT) + if(r.d_type == QType::OPT) continue; - throw std::runtime_error("Unexpected record (" +QType(r.first.d_type).toString()+") in non-answer section ("+std::to_string(r.first.d_place)+") in IXFR response for zone '"+zone.toLogString()+"' from primary '"+primary.toStringWithPort()); + throw std::runtime_error("Unexpected record (" +QType(r.d_type).toString()+") in non-answer section ("+std::to_string(r.d_place)+") in IXFR response for zone '"+zone.toLogString()+"' from primary '"+primary.toStringWithPort()); } - r.first.d_name.makeUsRelative(zone); - records.push_back(r.first); + r.d_name.makeUsRelative(zone); + records.push_back(r); } } diff --git a/pdns/ixfrutils.cc b/pdns/ixfrutils.cc index 385ac490b0a0..53e18313531d 100644 --- a/pdns/ixfrutils.cc +++ b/pdns/ixfrutils.cc @@ -65,8 +65,8 @@ uint32_t getSerialFromPrimary(const ComboAddress& primary, const DNSName& zone, throw std::runtime_error("RCODE from response is not NoError but " + RCode::to_s(mdp.d_header.rcode)); } for(const auto& r: mdp.d_answers) { - if(r.first.d_type == QType::SOA) { - sr = getRR(r.first); + if(r.d_type == QType::SOA) { + sr = getRR(r); if(sr != nullptr) { return sr->d_st.serial; } diff --git a/pdns/nsec3dig.cc b/pdns/nsec3dig.cc index f47ed2c58b5e..ea5a1fb8eb4c 100644 --- a/pdns/nsec3dig.cc +++ b/pdns/nsec3dig.cc @@ -167,35 +167,35 @@ try string nsec3salt; int nsec3iters = 0; for(MOADNSParser::answers_t::const_iterator i=mdp.d_answers.begin(); i!=mdp.d_answers.end(); ++i) { - if(i->first.d_type == QType::NSEC3) + if(i->d_type == QType::NSEC3) { // cerr<<"got nsec3 ["<first.d_name<<"]"<first.d_content->getZoneRepresentation()<(i->first); + const auto r = getRR(*i); if (!r) { continue; } // nsec3.insert(new nsec3() // cerr<first.d_name.getRawLabel(0)), toBase32Hex(r->d_nexthash)); + nsec3s.emplace(toLower(i->d_name.getRawLabel(0)), toBase32Hex(r->d_nexthash)); nsec3salt = r->d_salt; nsec3iters = r->d_iterations; - nsec3t.emplace(toLower(i->first.d_name.getRawLabel(0)), r->numberOfTypesSet()); + nsec3t.emplace(toLower(i->d_name.getRawLabel(0)), r->numberOfTypesSet()); } else { - // cerr<<"namesseen.insert('"<first.d_name<<"')"<first.d_name); - namesseen.insert(i->first.d_name); + // cerr<<"namesseen.insert('"<d_name<<"')"<d_name); + namesseen.insert(i->d_name); } - if(i->first.d_type == QType::CNAME) + if(i->d_type == QType::CNAME) { - namesseen.insert(DNSName(i->first.getContent()->getZoneRepresentation())); + namesseen.insert(DNSName(i->getContent()->getZoneRepresentation())); } - cout << i->first.d_place - 1 << "\t" << i->first.d_name.toString() << "\t" << i->first.d_ttl << "\tIN\t" << DNSRecordContent::NumberToType(i->first.d_type); - cout << "\t" << i->first.getContent()->getZoneRepresentation() << "\n"; + cout << i->d_place - 1 << "\t" << i->d_name.toString() << "\t" << i->d_ttl << "\tIN\t" << DNSRecordContent::NumberToType(i->d_type); + cout << "\t" << i->getContent()->getZoneRepresentation() << "\n"; } #if 0 diff --git a/pdns/recursordist/lwres.cc b/pdns/recursordist/lwres.cc index 04e29920d1d0..238fa20d0a35 100644 --- a/pdns/recursordist/lwres.cc +++ b/pdns/recursordist/lwres.cc @@ -595,8 +595,9 @@ static LWResult::Result asyncresolve(const ComboAddress& address, const DNSName& } lwr->d_records.reserve(mdp.d_answers.size()); - for (const auto& a : mdp.d_answers) - lwr->d_records.push_back(a.first); + for (const auto& answer : mdp.d_answers) { + lwr->d_records.push_back(answer); + } EDNSOpts edo; if (EDNS0Level > 0 && getEDNSOpts(mdp, &edo)) { diff --git a/pdns/recursordist/rec-system-resolve.cc b/pdns/recursordist/rec-system-resolve.cc index 6f8fb1ec5740..b50057cf74e5 100644 --- a/pdns/recursordist/rec-system-resolve.cc +++ b/pdns/recursordist/rec-system-resolve.cc @@ -92,7 +92,7 @@ std::string serverID() if (parser.d_header.rcode != RCode::NoError || parser.d_answers.size() != 1) { return {}; } - const auto& dnsrecord = parser.d_answers.at(0).first; + const auto& dnsrecord = parser.d_answers.at(0); if (dnsrecord.d_type == QType::TXT) { if (auto txt = getRR(dnsrecord); txt != nullptr) { const auto& text = txt->d_text; diff --git a/pdns/resolver.cc b/pdns/resolver.cc index 28db4e65efd0..9d8a27c47eac 100644 --- a/pdns/resolver.cc +++ b/pdns/resolver.cc @@ -214,10 +214,10 @@ namespace pdns { result->reserve(mdp.d_answers.size()); for (const auto& i: mdp.d_answers) { - rr.qname = i.first.d_name; - rr.qtype = i.first.d_type; - rr.ttl = i.first.d_ttl; - rr.content = i.first.getContent()->getZoneRepresentation(true); + rr.qname = i.d_name; + rr.qtype = i.d_type; + rr.ttl = i.d_ttl; + rr.content = i.getContent()->getZoneRepresentation(true); result->push_back(rr); } @@ -286,15 +286,15 @@ bool Resolver::tryGetSOASerial(DNSName *domain, ComboAddress* remote, uint32_t * *theirInception = *theirExpire = 0; bool gotSOA=false; for(const MOADNSParser::answers_t::value_type& drc : mdp.d_answers) { - if(drc.first.d_type == QType::SOA && drc.first.d_name == *domain) { - auto src = getRR(drc.first); + if(drc.d_type == QType::SOA && drc.d_name == *domain) { + auto src = getRR(drc); if (src) { *theirSerial = src->d_st.serial; gotSOA = true; } } - if(drc.first.d_type == QType::RRSIG && drc.first.d_name == *domain) { - auto rrc = getRR(drc.first); + if(drc.d_type == QType::RRSIG && drc.d_name == *domain) { + auto rrc = getRR(drc); if(rrc && rrc->d_type == QType::SOA) { *theirInception= std::max(*theirInception, rrc->d_siginception); *theirExpire = std::max(*theirExpire, rrc->d_sigexpire); diff --git a/pdns/rfc2136handler.cc b/pdns/rfc2136handler.cc index f0d6e9361a6b..0b6713fb5d77 100644 --- a/pdns/rfc2136handler.cc +++ b/pdns/rfc2136handler.cc @@ -768,7 +768,7 @@ int PacketHandler::processUpdate(DNSPacket& packet) { // NOLINT(readability-func // Check if all the records provided are within the zone for(const auto & answer : mdp.d_answers) { - const DNSRecord *rr = &answer.first; + const DNSRecord *rr = &answer; // Skip this check for other field types (like the TSIG - which is in the additional section) // For a TSIG, the label is the dnskey, so it does not pass the endOn validation. if (! (rr->d_place == DNSResourceRecord::ANSWER || rr->d_place == DNSResourceRecord::AUTHORITY)) @@ -790,7 +790,7 @@ int PacketHandler::processUpdate(DNSPacket& packet) { // NOLINT(readability-func // 3.2.1 and 3.2.2 - Prerequisite check for(const auto & answer : mdp.d_answers) { - const DNSRecord *rr = &answer.first; + const DNSRecord *rr = &answer; if (rr->d_place == DNSResourceRecord::ANSWER) { int res = checkUpdatePrerequisites(rr, &di); if (res>0) { @@ -807,7 +807,7 @@ int PacketHandler::processUpdate(DNSPacket& packet) { // NOLINT(readability-func typedef std::map RRsetMap_t; RRsetMap_t preReqRRsets; for(const auto& i: mdp.d_answers) { - const DNSRecord* rr = &i.first; + const DNSRecord* rr = &i; if (rr->d_place == DNSResourceRecord::ANSWER) { // Last line of 3.2.3 if (rr->d_class != QClass::IN && rr->d_class != QClass::NONE && rr->d_class != QClass::ANY) @@ -855,7 +855,7 @@ int PacketHandler::processUpdate(DNSPacket& packet) { // NOLINT(readability-func uint changedRecords = 0; // 3.4.1 - Prescan section for(const auto & answer : mdp.d_answers) { - const DNSRecord *rr = &answer.first; + const DNSRecord *rr = &answer; if (rr->d_place == DNSResourceRecord::AUTHORITY) { int res = checkUpdatePrescan(rr); if (res>0) { @@ -882,12 +882,12 @@ int PacketHandler::processUpdate(DNSPacket& packet) { // NOLINT(readability-func // Another special case is the addition of both a CNAME and a non-CNAME for the same name (#6270) set cn, nocn; for (const auto &rr : mdp.d_answers) { - if (rr.first.d_place == DNSResourceRecord::AUTHORITY && rr.first.d_class == QClass::IN && rr.first.d_ttl > 0) { + if (rr.d_place == DNSResourceRecord::AUTHORITY && rr.d_class == QClass::IN && rr.d_ttl > 0) { // Addition - if (rr.first.d_type == QType::CNAME) { - cn.insert(rr.first.d_name); - } else if (rr.first.d_type != QType::RRSIG) { - nocn.insert(rr.first.d_name); + if (rr.d_type == QType::CNAME) { + cn.insert(rr.d_name); + } else if (rr.d_type != QType::RRSIG) { + nocn.insert(rr.d_name); } } } @@ -901,7 +901,7 @@ int PacketHandler::processUpdate(DNSPacket& packet) { // NOLINT(readability-func vector cnamesToAdd, nonCnamesToAdd; for(const auto & answer : mdp.d_answers) { - const DNSRecord *rr = &answer.first; + const DNSRecord *rr = &answer; if (rr->d_place == DNSResourceRecord::AUTHORITY) { /* see if it's permitted by policy */ if (this->d_update_policy_lua != nullptr) { diff --git a/pdns/saxfr.cc b/pdns/saxfr.cc index bd333095e955..99d83dac5640 100644 --- a/pdns/saxfr.cc +++ b/pdns/saxfr.cc @@ -209,39 +209,39 @@ try throw PDNSException(string("Remote server refused: ") + std::to_string(mdp.d_header.rcode)); } for(MOADNSParser::answers_t::const_iterator i=mdp.d_answers.begin(); i!=mdp.d_answers.end(); ++i) { - if (i->first.d_type == QType::TSIG) { + if (i->d_type == QType::TSIG) { string message; if (!tsig) { std::cerr<<"Unexpected TSIG signature in data"<first.getContent()->getZoneRepresentation()); + trc = TSIGRecordContent(i->getContent()->getZoneRepresentation()); continue; } - if(i->first.d_type == QType::SOA) + if(i->d_type == QType::SOA) { ++soacount; } - else if (i->first.d_type == QType::NSEC3PARAM) { - ns3pr = NSEC3PARAMRecordContent(i->first.getContent()->getZoneRepresentation()); + else if (i->d_type == QType::NSEC3PARAM) { + ns3pr = NSEC3PARAMRecordContent(i->getContent()->getZoneRepresentation()); isNSEC3 = true; } ostringstream o; - o<<"\t"<first.d_ttl<<"\tIN\t"<first.d_type); + o<<"\t"<d_ttl<<"\tIN\t"<d_type); if(showdetails) { - o<<"\t"<first.getContent()->getZoneRepresentation(); + o<<"\t"<getContent()->getZoneRepresentation(); } - else if(i->first.d_type == QType::RRSIG) + else if(i->d_type == QType::RRSIG) { - string zoneRep = i->first.getContent()->getZoneRepresentation(); + string zoneRep = i->getContent()->getZoneRepresentation(); vector parts; stringtok(parts, zoneRep); o<<"\t"<first.d_type == QType::NSEC3) + else if(i->d_type == QType::NSEC3) { - string zoneRep = i->first.getContent()->getZoneRepresentation(); + string zoneRep = i->getContent()->getZoneRepresentation(); vector parts; stringtok(parts, zoneRep); o<<"\t"<::iterator iter = parts.begin()+5; iter != parts.end(); ++iter) o<<" "<<*iter; } - else if(i->first.d_type == QType::DNSKEY) + else if(i->d_type == QType::DNSKEY) { - string zoneRep = i->first.getContent()->getZoneRepresentation(); + string zoneRep = i->getContent()->getZoneRepresentation(); vector parts; stringtok(parts, zoneRep); o<<"\t"<first.getContent()->getZoneRepresentation(); + o<<"\t"<getContent()->getZoneRepresentation(); } - records.emplace_back(i->first.d_name, o.str()); + records.emplace_back(i->d_name, o.str()); - DNSName shorter(i->first.d_name); + DNSName shorter(i->d_name); do { labels.insert(shorter); if (shorter == DNSName(argv[3])) diff --git a/pdns/sdig.cc b/pdns/sdig.cc index 7362cc8164e0..66fc26603e7c 100644 --- a/pdns/sdig.cc +++ b/pdns/sdig.cc @@ -104,16 +104,16 @@ static void printReply(const string& reply, bool showflags, bool hidesoadetails, for (MOADNSParser::answers_t::const_iterator i = mdp.d_answers.begin(); i != mdp.d_answers.end(); ++i) { - cout << i->first.d_place - 1 << "\t" << i->first.d_name.toString() << "\t" - << ttl(i->first.d_ttl) << "\t" << nameForClass(i->first.d_class, i->first.d_type) << "\t" - << DNSRecordContent::NumberToType(i->first.d_type); + cout << i->d_place - 1 << "\t" << i->d_name.toString() << "\t" + << ttl(i->d_ttl) << "\t" << nameForClass(i->d_class, i->d_type) << "\t" + << DNSRecordContent::NumberToType(i->d_type); if (dumpluaraw) { - cout<<"\t"<< makeLuaString(i->first.getContent()->serialize(DNSName(), true))<getContent()->serialize(DNSName(), true))<first.d_class == QClass::IN) { - if (i->first.d_type == QType::RRSIG) { - string zoneRep = i->first.getContent()->getZoneRepresentation(); + if (i->d_class == QClass::IN) { + if (i->d_type == QType::RRSIG) { + string zoneRep = i->getContent()->getZoneRepresentation(); vector parts; stringtok(parts, zoneRep); cout << "\t" << parts[0] << " " @@ -121,8 +121,8 @@ static void printReply(const string& reply, bool showflags, bool hidesoadetails, << " [expiry] [inception] [keytag] " << parts[7] << " ...\n"; continue; } - if (!showflags && i->first.d_type == QType::NSEC3) { - string zoneRep = i->first.getContent()->getZoneRepresentation(); + if (!showflags && i->d_type == QType::NSEC3) { + string zoneRep = i->getContent()->getZoneRepresentation(); vector parts; stringtok(parts, zoneRep); cout << "\t" << parts[0] << " [flags] " @@ -133,16 +133,16 @@ static void printReply(const string& reply, bool showflags, bool hidesoadetails, cout << "\n"; continue; } - if (i->first.d_type == QType::DNSKEY) { - string zoneRep = i->first.getContent()->getZoneRepresentation(); + if (i->d_type == QType::DNSKEY) { + string zoneRep = i->getContent()->getZoneRepresentation(); vector parts; stringtok(parts, zoneRep); cout << "\t" << parts[0] << " " << parts[1] << " " << parts[2] << " ...\n"; continue; } - if (i->first.d_type == QType::SOA && hidesoadetails) { - string zoneRep = i->first.getContent()->getZoneRepresentation(); + if (i->d_type == QType::SOA && hidesoadetails) { + string zoneRep = i->getContent()->getZoneRepresentation(); vector parts; stringtok(parts, zoneRep); cout << "\t" << parts[0] << " " @@ -151,7 +151,7 @@ static void printReply(const string& reply, bool showflags, bool hidesoadetails, continue; } } - cout << "\t" << i->first.getContent()->getZoneRepresentation() << "\n"; + cout << "\t" << i->getContent()->getZoneRepresentation() << "\n"; } EDNSOpts edo; diff --git a/pdns/speedtest.cc b/pdns/speedtest.cc index f8188b0ab2ae..976275c3a1a1 100644 --- a/pdns/speedtest.cc +++ b/pdns/speedtest.cc @@ -669,11 +669,11 @@ struct ParsePacketTest } lwr; for(MOADNSParser::answers_t::const_iterator i=mdp.d_answers.begin(); i!=mdp.d_answers.end(); ++i) { DNSResourceRecord rr; - rr.qtype=i->first.d_type; - rr.qname=i->first.d_name; + rr.qtype=i->d_type; + rr.qname=i->d_name; - rr.ttl=i->first.d_ttl; - rr.content=i->first.getContent()->getZoneRepresentation(); // this should be the serialised form + rr.ttl=i->d_ttl; + rr.content=i->getContent()->getZoneRepresentation(); // this should be the serialised form lwr.d_result.push_back(rr); } diff --git a/pdns/stubresolver.cc b/pdns/stubresolver.cc index 84cdca320580..5c8df3311114 100644 --- a/pdns/stubresolver.cc +++ b/pdns/stubresolver.cc @@ -177,9 +177,9 @@ int stubDoResolve(const DNSName& qname, uint16_t qtype, vector& r } for (const auto& answer : mdp.d_answers) { - if (answer.first.d_place == 1 && answer.first.d_type == qtype) { + if (answer.d_place == 1 && answer.d_type == qtype) { DNSZoneRecord zrr; - zrr.dr = answer.first; + zrr.dr = answer; zrr.auth = true; ret.push_back(zrr); } diff --git a/pdns/tcpreceiver.cc b/pdns/tcpreceiver.cc index e290571458f7..396e012d0c55 100644 --- a/pdns/tcpreceiver.cc +++ b/pdns/tcpreceiver.cc @@ -1189,7 +1189,7 @@ int TCPNameserver::doIXFR(std::unique_ptr& q, int outsock) uint32_t serial = 0; MOADNSParser mdp(false, q->getString()); for(const auto & answer : mdp.d_answers) { - const DNSRecord *rr = &answer.first; + const DNSRecord *rr = &answer; if (rr->d_type == QType::SOA && rr->d_place == DNSResourceRecord::AUTHORITY) { vectorparts; stringtok(parts, rr->getContent()->getZoneRepresentation()); diff --git a/pdns/test-dnsrecords_cc.cc b/pdns/test-dnsrecords_cc.cc index c790b89a9134..48b8c5025587 100644 --- a/pdns/test-dnsrecords_cc.cc +++ b/pdns/test-dnsrecords_cc.cc @@ -701,7 +701,7 @@ BOOST_AUTO_TEST_CASE(test_nsec3_records_types) { MOADNSParser parser(false, reinterpret_cast(packet.data()), packet.size()); BOOST_REQUIRE_EQUAL(parser.d_answers.size(), 1U); - const auto& record = parser.d_answers.at(0).first; + const auto& record = parser.d_answers.at(0); BOOST_REQUIRE(record.d_type == QType::NSEC3); BOOST_REQUIRE(record.d_class == QClass::IN); auto content = getRR(record); diff --git a/pdns/test-tsig.cc b/pdns/test-tsig.cc index 08c90828dea9..55e92936d01d 100644 --- a/pdns/test-tsig.cc +++ b/pdns/test-tsig.cc @@ -82,17 +82,17 @@ static void checkTSIG(const DNSName& tsigName, const DNSName& tsigAlgo, const st TSIGRecordContent trc; for(const auto& answer: mdp.d_answers) { - if(answer.first.d_type == QType::TSIG) { - BOOST_CHECK_EQUAL(answer.first.d_place, DNSResourceRecord::ADDITIONAL); - BOOST_CHECK_EQUAL(answer.first.d_class, QClass::ANY); - BOOST_CHECK_EQUAL(answer.first.d_ttl, 0U); + if(answer.d_type == QType::TSIG) { + BOOST_CHECK_EQUAL(answer.d_place, DNSResourceRecord::ADDITIONAL); + BOOST_CHECK_EQUAL(answer.d_class, QClass::ANY); + BOOST_CHECK_EQUAL(answer.d_ttl, 0U); BOOST_CHECK_EQUAL(tsigFound, false); - auto rectrc = getRR(answer.first); + auto rectrc = getRR(answer); if (rectrc) { trc = *rectrc; theirMac = rectrc->d_mac; - keyName = answer.first.d_name; + keyName = answer.d_name; tsigFound = true; } } diff --git a/pdns/tsigverifier.cc b/pdns/tsigverifier.cc index b53001797517..603a69b5d171 100644 --- a/pdns/tsigverifier.cc +++ b/pdns/tsigverifier.cc @@ -22,13 +22,13 @@ bool TSIGTCPVerifier::check(const string& data, const MOADNSParser& mdp) } for(const auto& answer : mdp.d_answers) { - if (answer.first.d_type == QType::SOA) { + if (answer.d_type == QType::SOA) { // A SOA is either the first or the last record. We need to check TSIG if that's the case. checkTSIG = true; } - if(answer.first.d_type == QType::TSIG) { - auto trc = getRR(answer.first); + if(answer.d_type == QType::TSIG) { + auto trc = getRR(answer); if(trc) { theirMac = trc->d_mac; d_trc.d_time = trc->d_time;