diff options
author | Tyler Murphy <tylerm@tylerm.dev> | 2023-04-11 09:27:16 -0400 |
---|---|---|
committer | Tyler Murphy <tylerm@tylerm.dev> | 2023-04-11 09:27:16 -0400 |
commit | b22811eca246c9805cd1972981bc289e224181e6 (patch) | |
tree | 021f1c298c194cb2ade17f83fcf09c18ed2a703f /src/packet/question.c | |
parent | read from config (diff) | |
download | wrapper-b22811eca246c9805cd1972981bc289e224181e6.tar.gz wrapper-b22811eca246c9805cd1972981bc289e224181e6.tar.bz2 wrapper-b22811eca246c9805cd1972981bc289e224181e6.zip |
config
Diffstat (limited to '')
-rw-r--r-- | src/packet/question.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/packet/question.c b/src/packet/question.c index 5a08fd6..b138121 100644 --- a/src/packet/question.c +++ b/src/packet/question.c @@ -1,21 +1,28 @@ #include <stdio.h> #include <stdlib.h> +#include <stdbool.h> #include "question.h" #include "buffer.h" #include "record.h" #include "../io/log.h" -void read_question(PacketBuffer* buffer, Question* question) { +bool read_question(PacketBuffer* buffer, Question* question) { buffer_read_qname(buffer, &question->domain); uint16_t qtype_num = buffer_read_short(buffer); record_from_id(qtype_num, &question->qtype); question->cls = buffer_read_short(buffer); + if (question->qtype == UNKOWN) { + free(question->domain); + return false; + } + INIT_LOG_BUFFER(log) LOGONLY(print_question(question, log);) - TRACE("Reading question: %s", log); + TRACE("Reading question: %s", log); + return true; } void write_question(PacketBuffer* buffer, Question* question) { @@ -85,6 +92,8 @@ void print_question(Question* question, char* buffer) { case CAA: APPEND(buffer, "CAA "); break; + case CMD: + APPEND(buffer, "CMD "); break; } APPEND(buffer, "%.*s", |