From accb054b6d02f3fa8fd24ee3406241d2cd6db5be Mon Sep 17 00:00:00 2001 From: Remi Gacogne Date: Fri, 22 Oct 2021 10:31:44 +0200 Subject: [PATCH] ProtobufLogger: Use introspection to convert the transport to string --- contrib/ProtobufLogger.py | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/contrib/ProtobufLogger.py b/contrib/ProtobufLogger.py index 0370a20ca3..27884d07ae 100644 --- a/contrib/ProtobufLogger.py +++ b/contrib/ProtobufLogger.py @@ -103,6 +103,11 @@ class PDNSPBConnHandler(object): descr = dnsmessage_pb2.PBDNSMessage.DESCRIPTOR return descr.EnumValueName('EventType', event); + @staticmethod + def getTransportAsString(transport): + descr = dnsmessage_pb2.PBDNSMessage.DESCRIPTOR + return descr.EnumValueName('SocketProtocol', transport); + def printResponse(self, message): if message.trace: print("- Event Trace:") @@ -202,18 +207,7 @@ class PDNSPBConnHandler(object): if msg.HasField('to'): iptostr = '[' + socket.inet_ntop(socket.AF_INET6, msg.to) + ']' - if msg.socketProtocol == dnsmessage_pb2.PBDNSMessage.UDP: - protostr = 'UDP' - elif msg.socketProtocol == dnsmessage_pb2.PBDNSMessage.TCP: - protostr = 'TCP' - elif msg.socketProtocol == dnsmessage_pb2.PBDNSMessage.DOT: - protostr = 'DoT' - elif msg.socketProtocol == dnsmessage_pb2.PBDNSMessage.DOH: - protostr = 'DoH' - elif msg.socketProtocol == dnsmessage_pb2.PBDNSMessage.DNSCryptUDP: - protostr = 'DNSCrypt UDP' - elif msg.socketProtocol == dnsmessage_pb2.PBDNSMessage.DNSCryptTCP: - protostr = 'DNSCrypt TCP' + protostr = self.getTransportAsString(msg.socketProtocol) if msg.HasField('fromPort'): fromportstr = ':' + str(msg.fromPort) + ' ' -- 2.47.2