---
-Checks: 'clang-diagnostic-*,clang-analyzer-*,cppcoreguidelines-*,bugprone-*,concurrency-*,modernize-*,performance-*,portability-*,readability-*,-modernize-use-trailing-return-type,-readability-magic-numbers,-cppcoreguidelines-avoid-magic-numbers,-cppcoreguidelines-pro-type-union-access,-cppcoreguidelines-avoid-non-const-global-variables,-cppcoreguidelines-pro-type-vararg'
+Checks: 'clang-diagnostic-*,clang-analyzer-*,cppcoreguidelines-*,bugprone-*,concurrency-*,modernize-*,performance-*,portability-*,readability-*,-modernize-use-trailing-return-type,-readability-magic-numbers,-cppcoreguidelines-avoid-magic-numbers,-cppcoreguidelines-pro-type-union-access,-cppcoreguidelines-avoid-non-const-global-variables,-cppcoreguidelines-pro-type-vararg,-cppcoreguidelines-avoid-do-while'
WarningsAsErrors: ''
HeaderFilterRegex: ''
AnalyzeTemporaryDtors: false
BOOST_CHECK_EQUAL(record.d_name, target);
BOOST_CHECK_EQUAL(record.d_class, QClass::IN);
- BOOST_CHECK_EQUAL(record.d_ttl, 7200);
+ BOOST_CHECK_EQUAL(record.d_ttl, 7200U);
BOOST_CHECK_EQUAL(record.d_place, 1U);
BOOST_CHECK_GE(record.d_contentOffset, lastOffset);
lastOffset = record.d_contentOffset + record.d_contentLength;
static void handleNewUDPQuestion(int fileDesc, FDMultiplexer::funcparam_t& /* var */) // NOLINT(readability-function-cognitive-complexity): https://github.com/PowerDNS/pdns/issues/12791
{
- ssize_t len = 0;
static const size_t maxIncomingQuerySize = g_proxyProtocolACL.empty() ? 512 : (512 + g_proxyProtocolMaximumSize);
static thread_local std::string data;
ComboAddress fromaddr; // the address the query is coming from
fromaddr.sin6.sin6_family = AF_INET6; // this makes sure fromaddr is big enough
fillMSGHdr(&msgh, &iov, &cbuf, sizeof(cbuf), data.data(), data.size(), &fromaddr);
- if ((len = recvmsg(fileDesc, &msgh, 0)) >= 0) {
+ if (ssize_t len = recvmsg(fileDesc, &msgh, 0); len >= 0) {
eventTrace.clear();
eventTrace.setEnabled(SyncRes::s_event_trace_enabled != 0);
eventTrace.add(RecEventTrace::ReqRecv);
0, 0
};
struct timeval period;
- const string name;
+ string name;
};
static void houseKeepingWork(Logr::log_t log)
return ret;
}
-static void convertServersForAD(const std::string& zone, const std::string& input, SyncRes::AuthDomain& ad, const char* sepa, Logr::log_t log, bool verbose = true)
+static void convertServersForAD(const std::string& zone, const std::string& input, SyncRes::AuthDomain& authDomain, const char* sepa, Logr::log_t log, bool verbose = true)
{
vector<string> servers;
stringtok(servers, input, sepa);
- ad.d_servers.clear();
+ authDomain.d_servers.clear();
vector<string> addresses;
- for (auto server = servers.begin(); server != servers.end(); ++server) {
- ComboAddress addr = parseIPAndPort(*server, 53);
- ad.d_servers.push_back(addr);
+ for (auto& server : servers) {
+ ComboAddress addr = parseIPAndPort(server, 53);
+ authDomain.d_servers.push_back(addr);
if (verbose) {
addresses.push_back(addr.toStringWithPort());
}
if (verbose) {
if (!g_slogStructured) {
g_log << Logger::Info << "Redirecting queries for zone '" << zone << "' ";
- if (ad.d_rdForward) {
+ if (authDomain.d_rdForward) {
g_log << "with recursion ";
}
g_log << "to: ";
bool first = true;
- for (const auto& a : addresses) {
+ for (const auto& address : addresses) {
if (!first) {
g_log << ", ";
}
else {
first = false;
}
- g_log << a;
+ g_log << address;
}
g_log << endl;
}
else {
- log->info(Logr::Info, "Redirecting queries", "zone", Logging::Loggable(zone), "recursion", Logging::Loggable(ad.d_rdForward), "addresses", Logging::IterLoggable(addresses.begin(), addresses.end()));
+ log->info(Logr::Info, "Redirecting queries", "zone", Logging::Loggable(zone), "recursion", Logging::Loggable(authDomain.d_rdForward), "addresses", Logging::IterLoggable(addresses.begin(), addresses.end()));
}
}
}
static void* pleaseUseNewSDomainsMap(std::shared_ptr<SyncRes::domainmap_t> newmap)
{
SyncRes::setDomainMap(std::move(newmap));
- return 0;
+ return nullptr;
}
string reloadZoneConfiguration(bool yaml)
#include "validate-recursor.hh"
#include "secpoll.hh"
-#include <stdint.h>
+#include <cstdint>
#ifndef PACKAGEVERSION
#define PACKAGEVERSION getPDNSVersion()
#endif
void doSecPoll(time_t* last_secpoll, Logr::log_t log)
{
- if (::arg()["security-poll-suffix"].empty())
+ if (::arg()["security-poll-suffix"].empty()) {
return;
+ }
string pkgv(PACKAGEVERSION);
- struct timeval now;
- gettimeofday(&now, 0);
+ struct timeval now
+ {
+ };
+ Utility::gettimeofday(&now);
/* update last_secpoll right now, even if it fails
we don't want to retry right away and hammer the server */
*last_secpoll = now.tv_sec;
- SyncRes sr(now);
+ SyncRes resolver(now);
if (g_dnssecmode != DNSSECMode::Off) {
- sr.setDoDNSSEC(true);
- sr.setDNSSECValidationRequested(true);
+ resolver.setDoDNSSEC(true);
+ resolver.setDNSSECValidationRequested(true);
}
- sr.setId("SecPoll");
+ resolver.setId("SecPoll");
vector<DNSRecord> ret;
string version = "recursor-" + pkgv;
string qstring(version.substr(0, 63) + ".security-status." + ::arg()["security-poll-suffix"]);
- if (*qstring.rbegin() != '.')
+ if (*qstring.rbegin() != '.') {
qstring += '.';
+ }
boost::replace_all(qstring, "+", "_");
boost::replace_all(qstring, "~", "_");
vState state = vState::Indeterminate;
DNSName query(qstring);
- int res = sr.beginResolve(query, QType(QType::TXT), 1, ret);
+ int res = resolver.beginResolve(query, QType(QType::TXT), 1, ret);
- if (g_dnssecmode != DNSSECMode::Off && res) {
- state = sr.getValidationState();
+ if (g_dnssecmode != DNSSECMode::Off && res != 0) {
+ state = resolver.getValidationState();
}
auto vlog = log->withValues("version", Logging::Loggable(pkgv), "query", Logging::Loggable(query));
if (vStateIsBogus(state)) {
SLOG(g_log << Logger::Error << "Failed to retrieve security status update for '" + pkgv + "' on '" << query << "', DNSSEC validation result was Bogus!" << endl,
vlog->info(Logr::Error, "Failed to retrieve security status update", "validationResult", Logging::Loggable(vStateToString(state))));
- if (g_security_status == 1) // If we were OK, go to unknown
+ if (g_security_status == 1) { // If we were OK, go to unknown
g_security_status = 0;
+ }
return;
}
}
string security_message;
- int security_status = g_security_status;
+ int security_status = static_cast<int>(g_security_status);
try {
processSecPoll(res, ret, security_status, security_message);