From 58c1ce1185e32617870606e9926ab415418f984b Mon Sep 17 00:00:00 2001 From: WolverinDEV Date: Tue, 22 Sep 2020 13:46:08 +0200 Subject: [PATCH] Setting the authoritative answer header flag --- CMakeLists.txt | 4 ++-- server/main.cpp | 4 +++- server/src/handler.cpp | 10 ++++++---- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5ed154b..40445c7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.15) +cmake_minimum_required(VERSION 3.13) project(TeaWebDNS) set(CMAKE_CXX_STANDARD 17) @@ -19,7 +19,7 @@ if (MSVC) CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELEASE CMAKE_CXX_FLAGS_RELWITHDEBINFO - ) + ) foreach(CompilerFlag ${CompilerFlags}) string(REPLACE "/MD" "/MT" ${CompilerFlag} "${${CompilerFlag}}") endforeach() diff --git a/server/main.cpp b/server/main.cpp index ee67ce8..73bfc41 100644 --- a/server/main.cpp +++ b/server/main.cpp @@ -96,4 +96,6 @@ int main(int argc, char** argv) { logger::shutdown(); libevent_global_shutdown(); return 0; -} \ No newline at end of file +} + +//add-le-token dZS8bKQCTgQv62RE647sMlligbHhOGNTHyxNtYZkxtI \ No newline at end of file diff --git a/server/src/handler.cpp b/server/src/handler.cpp index 04d73e2..2020137 100644 --- a/server/src/handler.cpp +++ b/server/src/handler.cpp @@ -44,6 +44,7 @@ void WebDNSHandler::handle_message(const std::shared_ptr& bind response.header().id(*(uint16_t*) buffer); response.header().set_answer(true); response.header().set_query_type(parser.header().query_type()); + response.header().set_authoritative_answer(true); for(auto& query : parser.queries()) { auto& q = response.push_query(); @@ -58,10 +59,11 @@ void WebDNSHandler::handle_message(const std::shared_ptr& bind } } - if(response.answer_count() == 0) - response.header().set_response_code(rcode::NXDOMAIN); - else - response.header().set_response_code(rcode::NOERROR); + if(response.answer_count() == 0) { + response.header().set_response_code(rcode::NXDOMAIN); + } else { + response.header().set_response_code(rcode::NOERROR); + } char rbuffer[1024]; auto len = response.build(rbuffer, 1024, error);