From d68acc7abeb1bbd556ad418ff6c973fcf2dec5df Mon Sep 17 00:00:00 2001 From: bert hubert Date: Wed, 9 Dec 2015 07:44:33 +0100 Subject: [PATCH] spruce up grepq() a little bit with answer count for "No Error" answers --- pdns/dnsdist-lua2.cc | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/pdns/dnsdist-lua2.cc b/pdns/dnsdist-lua2.cc index 0118c4ea8..257ec05f7 100644 --- a/pdns/dnsdist-lua2.cc +++ b/pdns/dnsdist-lua2.cc @@ -229,7 +229,7 @@ void moreLua() for(const auto& c : qr) { if((nm && nm->match(c.requestor)) || (dn && c.name.isPartOf(*dn))) { QType qt(c.qtype); - out.insert(make_pair(c.when, (fmt % DiffTime(now, c.when) % c.requestor.toStringWithPort() % htons(c.dh.id) % c.name.toString() % qt.getName() % "" % (c.dh.tc ? "TC" : "") % (c.dh.rd? "RD" : "") % (c.dh.aa? "AA" : "") % "Question").str() )) ; + out.insert(make_pair(c.when, (fmt % DiffTime(now, c.when) % c.requestor.toStringWithPort() % htons(c.dh.id) % c.name.toString() % qt.getName() % "" % (c.dh.tc ? "TC" : "") % (c.dh.rd? "RD" : "") % (c.dh.aa? "AA" : "") % "Question").str() )) ; if(limit && *limit==++num) break; @@ -238,11 +238,15 @@ void moreLua() num=0; - + string extra; for(const auto& c : rr) { if((nm && nm->match(c.requestor)) || (dn && c.name.isPartOf(*dn))) { QType qt(c.qtype); - out.insert(make_pair(c.when, (fmt % DiffTime(now, c.when) % c.requestor.toStringWithPort() % htons(c.dh.id) % c.name.toString() % qt.getName() % (c.usec/1000.0) % (c.dh.tc ? "TC" : "") % (c.dh.rd? "RD" : "") % (c.dh.aa? "AA" : "") % RCode::to_s(c.dh.rcode)).str() )) ; + if(!c.dh.rcode) + extra=". " +std::to_string(htons(c.dh.ancount))+ " answers"; + else + extra.clear(); + out.insert(make_pair(c.when, (fmt % DiffTime(now, c.when) % c.requestor.toStringWithPort() % htons(c.dh.id) % c.name.toString() % qt.getName() % (c.usec/1000.0) % (c.dh.tc ? "TC" : "") % (c.dh.rd? "RD" : "") % (c.dh.aa? "AA" : "") % (RCode::to_s(c.dh.rcode) + extra)).str() )) ; if(limit && *limit==++num) break; -- 2.40.0