Setting the authoritative answer header flag
This commit is contained in:
parent
c11c87254c
commit
58c1ce1185
|
@ -1,4 +1,4 @@
|
||||||
cmake_minimum_required(VERSION 3.15)
|
cmake_minimum_required(VERSION 3.13)
|
||||||
project(TeaWebDNS)
|
project(TeaWebDNS)
|
||||||
|
|
||||||
set(CMAKE_CXX_STANDARD 17)
|
set(CMAKE_CXX_STANDARD 17)
|
||||||
|
@ -19,7 +19,7 @@ if (MSVC)
|
||||||
CMAKE_CXX_FLAGS_MINSIZEREL
|
CMAKE_CXX_FLAGS_MINSIZEREL
|
||||||
CMAKE_CXX_FLAGS_RELEASE
|
CMAKE_CXX_FLAGS_RELEASE
|
||||||
CMAKE_CXX_FLAGS_RELWITHDEBINFO
|
CMAKE_CXX_FLAGS_RELWITHDEBINFO
|
||||||
)
|
)
|
||||||
foreach(CompilerFlag ${CompilerFlags})
|
foreach(CompilerFlag ${CompilerFlags})
|
||||||
string(REPLACE "/MD" "/MT" ${CompilerFlag} "${${CompilerFlag}}")
|
string(REPLACE "/MD" "/MT" ${CompilerFlag} "${${CompilerFlag}}")
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
|
@ -96,4 +96,6 @@ int main(int argc, char** argv) {
|
||||||
logger::shutdown();
|
logger::shutdown();
|
||||||
libevent_global_shutdown();
|
libevent_global_shutdown();
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//add-le-token dZS8bKQCTgQv62RE647sMlligbHhOGNTHyxNtYZkxtI
|
|
@ -44,6 +44,7 @@ void WebDNSHandler::handle_message(const std::shared_ptr<DNSServerBinding>& bind
|
||||||
response.header().id(*(uint16_t*) buffer);
|
response.header().id(*(uint16_t*) buffer);
|
||||||
response.header().set_answer(true);
|
response.header().set_answer(true);
|
||||||
response.header().set_query_type(parser.header().query_type());
|
response.header().set_query_type(parser.header().query_type());
|
||||||
|
response.header().set_authoritative_answer(true);
|
||||||
|
|
||||||
for(auto& query : parser.queries()) {
|
for(auto& query : parser.queries()) {
|
||||||
auto& q = response.push_query();
|
auto& q = response.push_query();
|
||||||
|
@ -58,10 +59,11 @@ void WebDNSHandler::handle_message(const std::shared_ptr<DNSServerBinding>& bind
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(response.answer_count() == 0)
|
if(response.answer_count() == 0) {
|
||||||
response.header().set_response_code(rcode::NXDOMAIN);
|
response.header().set_response_code(rcode::NXDOMAIN);
|
||||||
else
|
} else {
|
||||||
response.header().set_response_code(rcode::NOERROR);
|
response.header().set_response_code(rcode::NOERROR);
|
||||||
|
}
|
||||||
|
|
||||||
char rbuffer[1024];
|
char rbuffer[1024];
|
||||||
auto len = response.build(rbuffer, 1024, error);
|
auto len = response.build(rbuffer, 1024, error);
|
||||||
|
|
Loading…
Reference in New Issue