}
});
- luaCtx.registerFunction<void (std::shared_ptr<DOHFrontend>::*)(boost::variant<std::string, std::shared_ptr<TLSCertKeyPair>, LuaArray<std::string>, LuaArray<std::shared_ptr<TLSCertKeyPair>>> certFiles, boost::variant<std::string, LuaArray<std::string>> keyFiles)>("loadNewCertificatesAndKeys", [](std::shared_ptr<DOHFrontend> frontend, boost::variant<std::string, std::shared_ptr<TLSCertKeyPair>, LuaArray<std::string>, LuaArray<std::shared_ptr<TLSCertKeyPair>>> certFiles, boost::variant<std::string, LuaArray<std::string>> keyFiles) {
+ luaCtx.registerFunction<void (std::shared_ptr<DOHFrontend>::*)(boost::variant<std::string, std::shared_ptr<TLSCertKeyPair>, LuaArray<std::string>, LuaArray<std::shared_ptr<TLSCertKeyPair>>> certFiles, boost::variant<std::string, LuaArray<std::string>> keyFiles)>("loadNewCertificatesAndKeys", [](const std::shared_ptr<DOHFrontend>& frontend, boost::variant<std::string, std::shared_ptr<TLSCertKeyPair>, LuaArray<std::string>, LuaArray<std::shared_ptr<TLSCertKeyPair>>> certFiles, boost::variant<std::string, LuaArray<std::string>> keyFiles) {
#ifdef HAVE_DNS_OVER_HTTPS
if (frontend != nullptr) {
if (loadTLSCertificateAndKeys("DOHFrontend::loadNewCertificatesAndKeys", frontend->d_tlsContext.d_tlsConfig.d_certKeyPairs, certFiles, keyFiles)) {
#endif
});
- luaCtx.registerFunction<void (std::shared_ptr<DOHFrontend>::*)()>("rotateTicketsKey", [](std::shared_ptr<DOHFrontend> frontend) {
+ luaCtx.registerFunction<void (std::shared_ptr<DOHFrontend>::*)()>("rotateTicketsKey", [](const std::shared_ptr<DOHFrontend>& frontend) {
if (frontend != nullptr) {
frontend->rotateTicketsKey(time(nullptr));
}
});
- luaCtx.registerFunction<void (std::shared_ptr<DOHFrontend>::*)(const std::string&)>("loadTicketsKeys", [](std::shared_ptr<DOHFrontend> frontend, const std::string& file) {
+ luaCtx.registerFunction<void (std::shared_ptr<DOHFrontend>::*)(const std::string&)>("loadTicketsKeys", [](const std::shared_ptr<DOHFrontend>& frontend, const std::string& file) {
if (frontend != nullptr) {
frontend->loadTicketsKeys(file);
}
});
- luaCtx.registerFunction<void (std::shared_ptr<DOHFrontend>::*)(const std::string&)>("loadTicketsKey", [](std::shared_ptr<DOHFrontend> frontend, const std::string& key) {
+ luaCtx.registerFunction<void (std::shared_ptr<DOHFrontend>::*)(const std::string&)>("loadTicketsKey", [](const std::shared_ptr<DOHFrontend>& frontend, const std::string& key) {
if (frontend != nullptr) {
frontend->loadTicketsKey(key);
}
});
luaCtx.writeFunction("loadTicketsKey", [](const std::string& key) {
- for (auto& frontend : g_frontends) {
+ for (const auto& frontend : g_frontends) {
if (!frontend) {
continue;
}
#endif /* HAVE_LIBSODIUM */
}
+// NOLINTNEXTLINE(cppcoreguidelines-pro-type-member-init): d_name, d_cipherKey and d_hmacKey are initialized
OpenSSLTLSTicketKey::OpenSSLTLSTicketKey(const std::string& key)
{
if (key.size() != (sizeof(d_name) + sizeof(d_cipherKey) + sizeof(d_hmacKey))) {
throw std::runtime_error("Unable to load a ticket key from given data");
}
size_t from = 0;
- memcpy(d_name, &key.at(from), sizeof(d_name));
+ memcpy(&d_name, &key.at(from), sizeof(d_name));
from += sizeof(d_name);
- memcpy(d_cipherKey, &key.at(from), sizeof(d_cipherKey));
+ memcpy(&d_cipherKey, &key.at(from), sizeof(d_cipherKey));
from += sizeof(d_cipherKey);
- memcpy(d_hmacKey, &key.at(from), sizeof(d_hmacKey));
+ memcpy(&d_hmacKey, &key.at(from), sizeof(d_hmacKey));
#ifdef HAVE_LIBSODIUM
- sodium_mlock(d_name, sizeof(d_name));
- sodium_mlock(d_cipherKey, sizeof(d_cipherKey));
- sodium_mlock(d_hmacKey, sizeof(d_hmacKey));
+ sodium_mlock(&d_name, sizeof(d_name));
+ sodium_mlock(&d_cipherKey, sizeof(d_cipherKey));
+ sodium_mlock(&d_hmacKey, sizeof(d_hmacKey));
#endif /* HAVE_LIBSODIUM */
}