From 9f9fee603a4716e52cf8d3864558afd9f0870fe2 Mon Sep 17 00:00:00 2001 From: Shreyas Zare Date: Sat, 14 Sep 2024 19:29:21 +0530 Subject: [PATCH] LogManager: updated code to log all TSIG details from request. --- DnsServerCore/LogManager.cs | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/DnsServerCore/LogManager.cs b/DnsServerCore/LogManager.cs index 1d267d32..f68c1ed4 100644 --- a/DnsServerCore/LogManager.cs +++ b/DnsServerCore/LogManager.cs @@ -630,12 +630,20 @@ namespace DnsServerCore if (request.Question.Count > 0) q = request.Question[0]; - string question; + string requestInfo; if (q is null) - question = "MISSING QUESTION!"; + requestInfo = "MISSING QUESTION!"; else - question = "QNAME: " + q.Name + "; QTYPE: " + q.Type.ToString() + "; QCLASS: " + q.Class; + requestInfo = "QNAME: " + q.Name + "; QTYPE: " + q.Type.ToString() + "; QCLASS: " + q.Class; + + if (request.Additional.Count > 0) + { + DnsResourceRecord lastRR = request.Additional[request.Additional.Count - 1]; + + if ((lastRR.Type == DnsResourceRecordType.TSIG) && (lastRR.RDATA is DnsTSIGRecordData tsig)) + requestInfo += "; TSIG KeyName: " + lastRR.Name.ToLowerInvariant() + "; TSIG Algo: " + tsig.AlgorithmName + "; TSIG Error: " + tsig.Error.ToString(); + } string responseInfo; @@ -647,12 +655,6 @@ namespace DnsServerCore { responseInfo = "; RCODE: " + response.RCODE.ToString(); - if ((response.Additional.Count > 0) && (response.Additional[response.Additional.Count - 1].Type == DnsResourceRecordType.TSIG)) - { - if (response.Additional[response.Additional.Count - 1].RDATA is DnsTSIGRecordData tsig) - responseInfo += "; TSIG: " + tsig.Error.ToString(); - } - string answer; if (response.Answer.Count == 0) @@ -718,7 +720,7 @@ namespace DnsServerCore responseInfo += "; ANSWER: " + answer; } - Write(ep, protocol, question + responseInfo); + Write(ep, protocol, requestInfo + responseInfo); } public void Write(IPEndPoint ep, DnsTransportProtocol protocol, string message)