LogManager: updated code to log all TSIG details from request.

This commit is contained in:
Shreyas Zare
2024-09-14 19:29:21 +05:30
parent 34acd56ea8
commit 9f9fee603a

View File

@@ -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)