From 9a0a974e954a71f9cf93f7bd3cbf731d2cad10fd Mon Sep 17 00:00:00 2001 From: Remi Gacogne Date: Fri, 11 May 2018 15:18:52 +0200 Subject: [PATCH] calidns: Accept lines with an ECS value even if we don't use it --- pdns/calidns.cc | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/pdns/calidns.cc b/pdns/calidns.cc index 58b63013bb..e327bbc498 100644 --- a/pdns/calidns.cc +++ b/pdns/calidns.cc @@ -314,6 +314,9 @@ try string line; reportAllTypes(); vector > > unknown, known; + std::vector fields; + fields.reserve(3); + while(getline(ifs, line)) { vector packet; DNSPacketWriter::optvect_t ednsOptions; @@ -322,15 +325,19 @@ try continue; } - auto fields = splitField(line, ' '); - std::string qname = fields.first; - std::string qtype = fields.second; + fields.clear(); + stringtok(fields, line, "\t "); + if ((useECSFromFile && fields.size() < 3) || fields.size() < 2) { + cerr<<"Skipping invalid line '"<