diff --git a/server/src/handler.cpp b/server/src/handler.cpp index d65225b..5729f8c 100644 --- a/server/src/handler.cpp +++ b/server/src/handler.cpp @@ -58,7 +58,7 @@ void WebDNSHandler::handle_message(const std::shared_ptr& bind } } - if(parser.answers().empty()) + if(response.answer_count() == 0) response.header().set_response_code(rcode::NXDOMAIN); else response.header().set_response_code(rcode::NOERROR); diff --git a/util/include/teadns/builder.h b/util/include/teadns/builder.h index c41152b..0ec8e14 100644 --- a/util/include/teadns/builder.h +++ b/util/include/teadns/builder.h @@ -207,6 +207,9 @@ namespace ts::dns { return this->_answers[index]; } + inline size_t answer_count() const { return this->_answers.size(); } + inline size_t query_count() const { return this->_queries.size(); } + size_t build(char* /* buffer */, size_t /* max length */, std::string& /* error */); private: builder::DNSHeader _header{};