set dns flags correctly (probably)

pull/273/head
Jeff Becker 5 years ago
parent b7b346cc7c
commit a7ff62f668
No known key found for this signature in database
GPG Key ID: F357B3B42F6F9B05

@ -7,7 +7,7 @@ namespace llarp
{
namespace dns
{
constexpr uint16_t qTypeAAAA = 28;
constexpr uint16_t qTypeAAAA = 28;
constexpr uint16_t qTypeTXT = 16;
constexpr uint16_t qTypeMX = 15;
constexpr uint16_t qTypePTR = 12;
@ -16,6 +16,15 @@ namespace llarp
constexpr uint16_t qTypeA = 1;
constexpr uint16_t qClassIN = 1;
constexpr uint16_t flags_QR = (1 << 15);
constexpr uint16_t flags_AA = (1 << 10);
constexpr uint16_t flags_TC = (1 << 9);
constexpr uint16_t flags_RD = (1 << 8);
constexpr uint16_t flags_RA = (1 << 7);
constexpr uint16_t flags_RCODENameError = (1 << 3);
constexpr uint16_t flags_RCODENoError = (1 << 0);
} // namespace dns
} // namespace llarp

@ -156,7 +156,7 @@ namespace llarp
{
if(questions.size())
{
hdr_fields |= (1 << 15);
hdr_fields |= flags_QR | flags_AA;
const auto& question = questions[0];
ResourceRecord rec;
rec.rr_name = question.qname;
@ -174,7 +174,7 @@ namespace llarp
{
if(questions.size())
{
hdr_fields |= (1 << 15);
hdr_fields |= flags_QR | flags_AA;
const auto& question = questions[0];
answers.emplace_back();
auto& rec = answers.back();
@ -199,7 +199,7 @@ namespace llarp
{
if(questions.size())
{
hdr_fields |= (1 << 15);
hdr_fields |= flags_QR | flags_AA;
const auto& question = questions[0];
answers.emplace_back();
auto& rec = answers.back();
@ -223,7 +223,7 @@ namespace llarp
{
if(questions.size())
{
hdr_fields |= (1 << 15);
hdr_fields |= flags_QR | flags_AA;
const auto& question = questions[0];
answers.emplace_back();
auto& rec = answers.back();
@ -248,10 +248,11 @@ namespace llarp
{
if(questions.size())
{
hdr_fields |= (1 << 15) | (1 << 3);
hdr_fields |= flags_QR;
const auto& question = questions[0];
if(question.qtype != qTypeAAAA)
{
hdr_fields |= flags_RCODENameError | flags_AA;
answers.emplace_back();
auto& nx = answers.back();
nx.rr_name = question.qname;

Loading…
Cancel
Save