Being more consistent when moving `RemoteLogActionConfiguration` objects.
Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
{
public:
// this action does not stop the processing
- RemoteLogAction(RemoteLogActionConfiguration& config) :
+ RemoteLogAction(RemoteLogActionConfiguration&& config) :
d_config(std::move(config))
{
if (!d_config.ipEncryptKey.empty() && d_config.ipEncryptMethod == "ipcrypt-pfx") {
{
public:
// this action does not stop the processing
- RemoteLogResponseAction(RemoteLogActionConfiguration& config) :
+ RemoteLogResponseAction(RemoteLogActionConfiguration&& config) :
d_config(std::move(config))
{
if (!d_config.ipEncryptKey.empty() && d_config.ipEncryptMethod == "ipcrypt-pfx") {
return std::shared_ptr<DNSAction>(new SetTraceAction(config));
}
-std::shared_ptr<DNSAction> getRemoteLogAction(RemoteLogActionConfiguration& config)
+std::shared_ptr<DNSAction> getRemoteLogAction(RemoteLogActionConfiguration&& config)
{
- return std::shared_ptr<DNSAction>(new RemoteLogAction(config));
+ return std::shared_ptr<DNSAction>(new RemoteLogAction(std::move(config)));
}
-std::shared_ptr<DNSResponseAction> getRemoteLogResponseAction(RemoteLogActionConfiguration& config)
+std::shared_ptr<DNSResponseAction> getRemoteLogResponseAction(RemoteLogActionConfiguration&& config)
{
- return std::shared_ptr<DNSResponseAction>(new RemoteLogResponseAction(config));
+ return std::shared_ptr<DNSResponseAction>(new RemoteLogResponseAction(std::move(config)));
}
std::shared_ptr<DNSAction> getDnstapLogAction(const std::string& identity, std::shared_ptr<RemoteLoggerInterface> logger, std::optional<DnstapAlterFunction> alterFunc)
bool tagsExportKeyOnly{false};
bool tagsStripPrefixes{false};
};
-std::shared_ptr<DNSAction> getRemoteLogAction(RemoteLogActionConfiguration& config);
-std::shared_ptr<DNSResponseAction> getRemoteLogResponseAction(RemoteLogActionConfiguration& config);
+std::shared_ptr<DNSAction> getRemoteLogAction(RemoteLogActionConfiguration&& config);
+std::shared_ptr<DNSResponseAction> getRemoteLogResponseAction(RemoteLogActionConfiguration&& config);
std::shared_ptr<DNSAction> getDnstapLogAction(const std::string& identity, std::shared_ptr<RemoteLoggerInterface> logger, std::optional<DnstapAlterFunction> alterFunc);
std::shared_ptr<DNSResponseAction> getDnstapLogResponseAction(const std::string& identity, std::shared_ptr<RemoteLoggerInterface> logger, std::optional<DnstapAlterResponseFunction> alterFunc);
actionConfig.useServerID = config.use_server_id;
actionConfig.tagsExportKeyOnly = config.export_tags_key_only;
actionConfig.tagsStripPrefixes = config.export_tags_strip_prefixes;
- auto action = dnsdist::actions::getRemoteLogAction(actionConfig);
+ auto action = dnsdist::actions::getRemoteLogAction(std::move(actionConfig));
return newDNSActionWrapper(std::move(action), config.name);
#endif
}
actionConfig.useServerID = config.use_server_id;
actionConfig.tagsExportKeyOnly = config.export_tags_key_only;
actionConfig.tagsStripPrefixes = config.export_tags_strip_prefixes;
- auto action = dnsdist::actions::getRemoteLogResponseAction(actionConfig);
+ auto action = dnsdist::actions::getRemoteLogResponseAction(std::move(actionConfig));
return newDNSResponseActionWrapper(std::move(action), config.name);
#endif
}
checkAllParametersConsumed("RemoteLogAction", vars);
- return dnsdist::actions::getRemoteLogAction(config);
+ return dnsdist::actions::getRemoteLogAction(std::move(config));
});
luaCtx.writeFunction("RemoteLogResponseAction", [](std::shared_ptr<RemoteLoggerInterface> logger, std::optional<dnsdist::actions::ProtobufAlterResponseFunction> alterFunc, std::optional<bool> includeCNAME, std::optional<LuaAssociativeTable<boost::variant<std::string, bool>>> vars, std::optional<LuaAssociativeTable<std::string>> metas, std::optional<bool> delay) {
checkAllParametersConsumed("RemoteLogResponseAction", vars);
- return dnsdist::actions::getRemoteLogResponseAction(config);
+ return dnsdist::actions::getRemoteLogResponseAction(std::move(config));
});
luaCtx.writeFunction("DnstapLogAction", [](const std::string& identity, std::shared_ptr<RemoteLoggerInterface> logger, std::optional<dnsdist::actions::DnstapAlterFunction> alterFunc) {