From: Remi Gacogne Date: Wed, 16 Aug 2023 09:45:49 +0000 (+0200) Subject: calidns: Fix warnings from clang-tidy X-Git-Tag: rec-5.0.0-alpha1~55^2~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=50a3b8f9e709e100965dadca1f380a7533f3878d;p=thirdparty%2Fpdns.git calidns: Fix warnings from clang-tidy --- diff --git a/pdns/calidns.cc b/pdns/calidns.cc index f0a898905e..ccf4af8831 100644 --- a/pdns/calidns.cc +++ b/pdns/calidns.cc @@ -204,6 +204,58 @@ static void usage(po::options_description &desc) { cerr<>>& unknown, bool useECSFromFile, bool wantRecursion, bool addECS) +{ + ifstream ifs(queryFile); + string line; + std::vector fields; + fields.reserve(3); + + while (getline(ifs, line)) { + vector packet; + DNSPacketWriter::optvect_t ednsOptions; + boost::trim(line); + if (line.empty() || line.at(0) == '#') { + continue; + } + + fields.clear(); + stringtok(fields, line, "\t "); + if ((useECSFromFile && fields.size() < 3) || fields.size() < 2) { + cerr<<"Skipping invalid line '"<rd = wantRecursion; + packetWriter.getHeader()->id = dns_random_uint16(); + + if (!subnet.empty() || addECS) { + EDNSSubnetOpts opt; + opt.source = Netmask(subnet.empty() ? "0.0.0.0/32" : subnet); + ednsOptions.emplace_back(EDNSOptionCode::ECS, makeEDNSSubnetOptsString(opt)); + } + + if (!ednsOptions.empty() || (packetWriter.getHeader()->id % 2) != 0) { + packetWriter.addOpt(1500, 0, EDNSOpts::DNSSECOK, ednsOptions); + packetWriter.commit(); + } + unknown.push_back(std::make_shared>(packet)); + } + + shuffle(unknown.begin(), unknown.end(), pdns::dns_random_engine()); +} +} + /* New plan. Set cache hit percentage, which we achieve on a per second basis. So we start with 10000 qps for example, and for 90% cache hit ratio means @@ -340,54 +392,11 @@ try } #endif - ifstream ifs(g_vm["query-file"].as()); - string line; reportAllTypes(); - vector > > unknown, known; - std::vector fields; - fields.reserve(3); - - while(getline(ifs, line)) { - vector packet; - DNSPacketWriter::optvect_t ednsOptions; - boost::trim(line); - if (line.empty() || line.at(0) == '#') { - continue; - } - - fields.clear(); - stringtok(fields, line, "\t "); - if ((useECSFromFile && fields.size() < 3) || fields.size() < 2) { - cerr<<"Skipping invalid line '"<>> unknown; + vector>> known; + parseQueryFile(g_vm["query-file"].as(), unknown, useECSFromFile, wantRecursion, !ecsRange.empty()); - const std::string& qname = fields.at(0); - const std::string& qtype = fields.at(1); - std::string subnet; - - if (useECSFromFile) { - subnet = fields.at(2); - } - - DNSPacketWriter pw(packet, DNSName(qname), DNSRecordContent::TypeToNumber(qtype)); - pw.getHeader()->rd=wantRecursion; - pw.getHeader()->id=dns_random_uint16(); - - if(!subnet.empty() || !ecsRange.empty()) { - EDNSSubnetOpts opt; - opt.source = Netmask(subnet.empty() ? "0.0.0.0/32" : subnet); - ednsOptions.emplace_back(EDNSOptionCode::ECS, makeEDNSSubnetOptsString(opt)); - } - - if(!ednsOptions.empty() || pw.getHeader()->id % 2) { - pw.addOpt(1500, 0, EDNSOpts::DNSSECOK, ednsOptions); - pw.commit(); - } - unknown.push_back(std::make_shared>(packet)); - } - - shuffle(unknown.begin(), unknown.end(), pdns::dns_random_engine()); if (!g_quiet) { cout<<"Generated "<