From: Neil Cook Date: Wed, 24 Oct 2018 12:35:39 +0000 (+0000) Subject: Account for the fact that udr and nod flags are optional in protobuf X-Git-Tag: dnsdist-1.3.3~16^2~5 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bf81317e3f5ead5b1ab4f843936bd54731eb8644;p=thirdparty%2Fpdns.git Account for the fact that udr and nod flags are optional in protobuf --- diff --git a/contrib/ProtobufLogger.py b/contrib/ProtobufLogger.py index 074cb94208..c88653ce79 100644 --- a/contrib/ProtobufLogger.py +++ b/contrib/ProtobufLogger.py @@ -111,10 +111,12 @@ class PDNSPBConnHandler(object): for rr in response.rrs: rrclass = 1 rdatastr = '' + rrudr = 0 if rr.HasField('class'): rrclass = getattr(rr, 'class') rrtype = rr.type - rrudr = rr.udr + if rr.HasField('udr'): + rrudr = rr.udr if (rrclass == 1 or rrclass == 255) and rr.HasField('rdata'): if rrtype == 1: rdatastr = socket.inet_ntop(socket.AF_INET, rr.rdata) @@ -170,7 +172,9 @@ class PDNSPBConnHandler(object): deviceId = binascii.hexlify(bytearray(msg.deviceId)) requestorId = msg.requestorId - nod = msg.newlyObservedDomain + nod = 0 + if (msg.HasField('newlyObservedDomain')): + nod = msg.newlyObservedDomain print('[%s] %s of size %d: %s%s -> %s (%s), id: %d, uuid: %s%s ' 'requestorid: %s deviceid: %s serverid: %s nod: %d' % (datestr,