From: Remi Gacogne Date: Mon, 6 Oct 2025 12:26:47 +0000 (+0200) Subject: dnsdist: Fix clang-tidy warnings, test more cases X-Git-Tag: rec-5.4.0-alpha1~173^2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e6cf554574d6875c4e233f6b0dcbe844fd58a850;p=thirdparty%2Fpdns.git dnsdist: Fix clang-tidy warnings, test more cases Signed-off-by: Remi Gacogne --- diff --git a/pdns/dnsdistdist/dnsdist-lua-ffi.cc b/pdns/dnsdistdist/dnsdist-lua-ffi.cc index 78c530143c..0ccf82713d 100644 --- a/pdns/dnsdistdist/dnsdist-lua-ffi.cc +++ b/pdns/dnsdistdist/dnsdist-lua-ffi.cc @@ -1012,14 +1012,14 @@ bool dnsdist_ffi_resume_from_async_with_alternate_name(uint16_t asyncID, uint16_ return dnsdist::queueQueryResumptionEvent(std::move(query)); } -bool dnsdist_ffi_dnsquestion_set_alternate_name(dnsdist_ffi_dnsquestion_t* dq, const char* alternateName, size_t alternateNameSize, const char* tag, size_t tagSize, const char* tagValue, size_t tagValueSize, const char* formerNameTagName, size_t formerNameTagSize) +bool dnsdist_ffi_dnsquestion_set_alternate_name(dnsdist_ffi_dnsquestion_t* dnsQuestion, const char* alternateName, size_t alternateNameSize, const char* tag, size_t tagSize, const char* tagValue, size_t tagValueSize, const char* formerNameTagName, size_t formerNameTagSize) { - if (dq == nullptr || dq->dq == nullptr || alternateName == nullptr || alternateNameSize == 0) { + if (dnsQuestion == nullptr || dnsQuestion->dq == nullptr || alternateName == nullptr || alternateNameSize == 0) { return false; } - auto& ids = dq->dq->ids; - auto& packet = dq->dq->getMutableData(); + auto& ids = dnsQuestion->dq->ids; + auto& packet = dnsQuestion->dq->getMutableData(); return setAlternateName(packet, ids, std::string_view(alternateName, alternateNameSize), std::string_view(tag, tagSize), std::string_view(tagValue, tagValueSize), std::string_view(formerNameTagName, formerNameTagSize)); } diff --git a/pdns/dnsdistdist/test-dnsdist-lua-ffi.cc b/pdns/dnsdistdist/test-dnsdist-lua-ffi.cc index 114115f583..99d2c42ace 100644 --- a/pdns/dnsdistdist/test-dnsdist-lua-ffi.cc +++ b/pdns/dnsdistdist/test-dnsdist-lua-ffi.cc @@ -1157,11 +1157,19 @@ BOOST_AUTO_TEST_CASE(test_set_altername_name) BOOST_CHECK_EQUAL(ids.skipCache, true); BOOST_REQUIRE(ids.qTag != nullptr); BOOST_CHECK_EQUAL(ids.qTag->at(tag), tagValue); - BOOST_CHECK_EQUAL(ids.qTag->at(formerTagName), initialQName.getStorage()); + BOOST_CHECK_EQUAL(ids.qTag->at(formerTagName), std::string(initialQName.getStorage())); + // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast) MOADNSParser mdp(false, reinterpret_cast(dnsQuestion.getData().data()), dnsQuestion.getData().size()); BOOST_CHECK_EQUAL(mdp.d_qname, target); BOOST_CHECK_EQUAL(mdp.d_header.qdcount, 1U); + + /* also check that we can rename without providing any tags */ + BOOST_CHECK(dnsdist_ffi_dnsquestion_set_alternate_name(&lightDQ, target.getStorage().data(), target.getStorage().size(), nullptr, 0, nullptr, 0, nullptr, 0)); + + /* and that we can pass a tag name without a value */ + BOOST_CHECK(dnsdist_ffi_dnsquestion_set_alternate_name(&lightDQ, target.getStorage().data(), target.getStorage().size(), tag.data(), tag.size(), nullptr, 0, nullptr, 0)); + } BOOST_AUTO_TEST_SUITE_END();