]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
dnsdist: Fix 'Unknown key' issue for actions and rules parameters 12687/head
authorRemi Gacogne <remi.gacogne@powerdns.com>
Fri, 24 Mar 2023 17:26:13 +0000 (18:26 +0100)
committerRemi Gacogne <remi.gacogne@powerdns.com>
Fri, 24 Mar 2023 17:26:13 +0000 (18:26 +0100)
The parameters were properly parsed but not marked as consumed,
leading to warnings such as:
```
addAction: Unknown key 'name' given - ignored
```

pdns/dnsdist-lua-rules.cc
pdns/dnsdist-lua.hh

index 7100cf72bebdf25062d26a0f68ecdce33f053428..47639365d9caca4d660d14d7349c1e210ed5131f 100644 (file)
@@ -67,7 +67,7 @@ static boost::uuids::uuid makeRuleID(std::string& id)
   return getUniqueID(id);
 }
 
-void parseRuleParams(boost::optional<luaruleparams_t> params, boost::uuids::uuid& uuid, std::string& name, uint64_t& creationOrder)
+void parseRuleParams(boost::optional<luaruleparams_t>& params, boost::uuids::uuid& uuid, std::string& name, uint64_t& creationOrder)
 {
   static uint64_t s_creationOrder = 0;
 
index 6fb357595bcc1effc9c74ecac14ac0f09b61a757..61a021fedf0a1062b2a5c98da7d24d821cf9a1cb 100644 (file)
@@ -161,7 +161,7 @@ using luaruleparams_t = LuaAssociativeTable<std::string>;
 using nmts_t = NetmaskTree<DynBlock, AddressAndPortRange>;
 
 std::shared_ptr<DNSRule> makeRule(const luadnsrule_t& var);
-void parseRuleParams(boost::optional<luaruleparams_t> params, boost::uuids::uuid& uuid, std::string& name, uint64_t& creationOrder);
+void parseRuleParams(boost::optional<luaruleparams_t>& params, boost::uuids::uuid& uuid, std::string& name, uint64_t& creationOrder);
 void checkParameterBound(const std::string& parameter, uint64_t value, size_t max = std::numeric_limits<uint16_t>::max());
 
 vector<std::function<void(void)>> setupLua(LuaContext& luaCtx, bool client, bool configCheck, const std::string& config);