From 3d32852e7e459d403179e8f79354e2e52bbc4a52 Mon Sep 17 00:00:00 2001 From: Attila Molnar Date: Mon, 27 Apr 2015 19:28:00 +0200 Subject: core_dns Drop incoming packets containing a different question from what we asked --- src/coremods/core_dns.cpp | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src') diff --git a/src/coremods/core_dns.cpp b/src/coremods/core_dns.cpp index f4f85e253..d4214b9a5 100644 --- a/src/coremods/core_dns.cpp +++ b/src/coremods/core_dns.cpp @@ -527,6 +527,13 @@ class MyManager : public Manager, public Timer, public EventHandler return; } + if (static_cast(*request) != recv_packet.question) + { + // This can happen under high latency, drop it silently, do not fail the request + ServerInstance->Logs->Log(MODNAME, LOG_DEBUG, "Received an answer that isn't for a question we asked"); + return; + } + if (recv_packet.flags & QUERYFLAGS_OPCODE) { ServerInstance->Logs->Log(MODNAME, LOG_DEBUG, "Received a nonstandard query"); -- cgit v1.2.3