From 3ae358e89222f0c084f55eeb23b45428cccec290 Mon Sep 17 00:00:00 2001 From: Shreyas Zare Date: Sat, 5 Jan 2019 15:23:11 +0530 Subject: [PATCH] Added tcp protocol indication when logging with end points. --- DnsServerCore/DnsServer.cs | 24 ++++++++++++------------ DnsServerCore/DnsWebService.cs | 4 ++-- DnsServerCore/LogManager.cs | 4 ++-- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/DnsServerCore/DnsServer.cs b/DnsServerCore/DnsServer.cs index 1cd18bfd..65bec4a1 100644 --- a/DnsServerCore/DnsServer.cs +++ b/DnsServerCore/DnsServer.cs @@ -202,7 +202,7 @@ namespace DnsServerCore { LogManager log = _log; if (log != null) - log.Write(remoteEP as IPEndPoint, ex); + log.Write(remoteEP as IPEndPoint, false, ex); } } } @@ -214,7 +214,7 @@ namespace DnsServerCore LogManager log = _log; if (log != null) - log.Write(remoteEP as IPEndPoint, ex); + log.Write(remoteEP as IPEndPoint, false, ex); throw; } @@ -230,7 +230,7 @@ namespace DnsServerCore try { - DnsDatagram response = ProcessQuery(request, remoteEP); + DnsDatagram response = ProcessQuery(request, remoteEP, false); //send response if (response != null) @@ -274,7 +274,7 @@ namespace DnsServerCore LogManager log = _log; if (log != null) - log.Write(remoteEP as IPEndPoint, ex); + log.Write(remoteEP as IPEndPoint, false, ex); } } @@ -302,7 +302,7 @@ namespace DnsServerCore LogManager log = _log; if (log != null) - log.Write(localEP, ex); + log.Write(localEP, true, ex); throw; } @@ -351,7 +351,7 @@ namespace DnsServerCore LogManager log = _log; if (log != null) - log.Write(remoteEP as IPEndPoint, ex); + log.Write(remoteEP as IPEndPoint, true, ex); } finally { @@ -371,7 +371,7 @@ namespace DnsServerCore try { - DnsDatagram response = ProcessQuery(request, remoteEP); + DnsDatagram response = ProcessQuery(request, remoteEP, true); //send response if (response != null) @@ -416,7 +416,7 @@ namespace DnsServerCore LogManager log = _log; if (log != null) - log.Write(remoteEP as IPEndPoint, ex); + log.Write(remoteEP as IPEndPoint, true, ex); } } @@ -441,7 +441,7 @@ namespace DnsServerCore return true; } - private DnsDatagram ProcessQuery(DnsDatagram request, EndPoint remoteEP) + private DnsDatagram ProcessQuery(DnsDatagram request, EndPoint remoteEP, bool tcp) { if (request.Header.IsResponse) return null; @@ -522,7 +522,7 @@ namespace DnsServerCore { LogManager log = _log; if (log != null) - log.Write(remoteEP as IPEndPoint, ex); + log.Write(remoteEP as IPEndPoint, tcp, ex); return new DnsDatagram(new DnsHeader(request.Header.Identifier, true, DnsOpcode.StandardQuery, false, false, request.Header.RecursionDesired, isRecursionAllowed, false, false, DnsResponseCode.ServerFailure, request.Header.QDCOUNT, 0, 0, 0), request.Question, null, null, null); } @@ -814,7 +814,7 @@ namespace DnsServerCore { LogManager log = _log; if (log != null) - log.Write(_localEPs[i], ex); + log.Write(_localEPs[i], false, ex); udpListener.Dispose(); } @@ -832,7 +832,7 @@ namespace DnsServerCore { LogManager log = _log; if (log != null) - log.Write(_localEPs[i], ex); + log.Write(_localEPs[i], true, ex); tcpListener.Dispose(); } diff --git a/DnsServerCore/DnsWebService.cs b/DnsServerCore/DnsWebService.cs index cce2348f..8b3b1ca3 100644 --- a/DnsServerCore/DnsWebService.cs +++ b/DnsServerCore/DnsWebService.cs @@ -366,7 +366,7 @@ namespace DnsServerCore } catch (Exception ex) { - _log.Write(GetRequestRemoteEndPoint(request), ex); + _log.Write(GetRequestRemoteEndPoint(request), true, ex); jsonWriter.WritePropertyName("status"); jsonWriter.WriteValue("error"); @@ -445,7 +445,7 @@ namespace DnsServerCore if ((_state == ServiceState.Stopping) || (_state == ServiceState.Stopped)) return; //web service stopping - _log.Write(GetRequestRemoteEndPoint(request), ex); + _log.Write(GetRequestRemoteEndPoint(request), true, ex); try { diff --git a/DnsServerCore/LogManager.cs b/DnsServerCore/LogManager.cs index 91a38907..2e5687b0 100644 --- a/DnsServerCore/LogManager.cs +++ b/DnsServerCore/LogManager.cs @@ -144,9 +144,9 @@ namespace DnsServerCore Write(null, ex.ToString()); } - public void Write(IPEndPoint ep, Exception ex) + public void Write(IPEndPoint ep, bool tcp, Exception ex) { - Write(ep, ex.ToString()); + Write(ep, (tcp ? "[TCP] " : "") + ex.ToString()); } public void Write(IPEndPoint ep, bool tcp, DnsDatagram request, DnsDatagram response)