}
return Carbon::Endpoint{ComboAddress(address, 2003),
!namespace_name.empty() ? namespace_name : "dnsdist",
- ourName,
+ std::move(ourName),
!instance_name.empty() ? instance_name : "main",
interval < std::numeric_limits<unsigned int>::max() ? static_cast<unsigned int>(interval) : 30};
}
{
void doClient(const std::string& command)
{
+ //coverity[auto_causes_copy]
const auto consoleKey = dnsdist::configuration::getCurrentRuntimeConfiguration().d_consoleKey;
+ //coverity[auto_causes_copy]
const auto server = dnsdist::configuration::getCurrentRuntimeConfiguration().d_consoleServerAddress;
if (!dnsdist::crypto::authenticated::isValidKey(consoleKey)) {
cerr << "The currently configured console key is not valid, please configure a valid key using the setKey() directive" << endl;
setTCPNoDelay(conn.getFD());
+ //coverity[auto_causes_copy]
const auto consoleKey = dnsdist::configuration::getCurrentRuntimeConfiguration().d_consoleKey;
dnsdist::crypto::authenticated::Nonce theirs;
dnsdist::crypto::authenticated::Nonce ours;
}
std::string line;
+ //coverity[tainted_data]
line.resize(len);
readn2(conn.getFD(), line.data(), len);
if (rules.empty()) {
return;
}
+ //coverity[auto_causes_copy]
auto subject = *rules.rbegin();
rules.erase(std::prev(rules.end()));
rules.insert(rules.begin(), subject);
g_outputBuffer = "Error: attempt to move rules from/to invalid index\n";
return;
}
+ //coverity[auto_causes_copy]
auto subject = rules[from];
rules.erase(rules.begin() + from);
if (destination > rules.size()) {
});
luaCtx.writeFunction("getPoolServers", [](const string& pool) {
+ //coverity[auto_causes_copy]
const auto poolServers = getDownstreamCandidates(pool);
return *poolServers;
});
// 1 2 3 4
ret << (fmt % "Name" % "Cache" % "ServerPolicy" % "Servers") << endl;
+ //coverity[auto_causes_copy]
const auto defaultPolicyName = dnsdist::configuration::getCurrentRuntimeConfiguration().d_lbPolicy->getName();
+ //coverity[auto_causes_copy]
const auto pools = dnsdist::configuration::getCurrentRuntimeConfiguration().d_pools;
for (const auto& entry : pools) {
const string& name = entry.first;
setLuaNoSideEffect();
LuaArray<std::string> ret;
int count = 1;
- const auto pools = dnsdist::configuration::getCurrentRuntimeConfiguration().d_pools;
+ const auto& pools = dnsdist::configuration::getCurrentRuntimeConfiguration().d_pools;
for (const auto& entry : pools) {
const string& name = entry.first;
ret.emplace_back(count++, name);
Json::array pools;
{
num = 0;
- const auto localPools = dnsdist::configuration::getCurrentRuntimeConfiguration().d_pools;
+ const auto& localPools = dnsdist::configuration::getCurrentRuntimeConfiguration().d_pools;
pools.reserve(localPools.size());
for (const auto& pool : localPools) {
const auto& cache = pool.second->packetCache;
++dnsdist::metrics::g_stats.cacheMisses;
+ //coverity[auto_causes_copy]
const auto existingPool = dnsQuestion.ids.poolName;
const auto& chains = dnsdist::configuration::getCurrentRuntimeConfiguration().d_ruleChains;
const auto& cacheMissRuleActions = dnsdist::rules::getRuleChain(chains, dnsdist::rules::RuleChain::CacheMissRules);
const auto& immutableConfig = dnsdist::configuration::getImmutableConfiguration();
/* stdin, stdout, stderr */
rlim_t requiredFDsCount = 3;
- const auto backends = dnsdist::configuration::getCurrentRuntimeConfiguration().d_backends;
+ const auto& backends = dnsdist::configuration::getCurrentRuntimeConfiguration().d_backends;
/* UDP sockets to backends */
size_t backendUDPSocketsCount = 0;
for (const auto& backend : backends) {
checkFileDescriptorsLimits(udpBindsCount, tcpBindsCount);
{
+ //coverity[auto_causes_copy]
const auto states = dnsdist::configuration::getCurrentRuntimeConfiguration().d_backends; // it is a copy, but the internal shared_ptrs are the real deal
auto mplexer = std::unique_ptr<FDMultiplexer>(FDMultiplexer::getMultiplexerSilent(states.size()));
for (auto& dss : states) {