class LuaAction : public DNSAction
{
public:
- typedef std::function<std::tuple<int, string>(DNSQuestion* dq)> func_t;
- LuaAction(LuaAction::func_t func) : d_func(func)
+ typedef std::function<std::tuple<int, boost::optional<string> >(DNSQuestion* dq)> func_t;
+ LuaAction(const LuaAction::func_t& func) : d_func(func)
{}
Action operator()(DNSQuestion* dq, string* ruleresult) const override;
string toString() const override
class LuaResponseAction : public DNSResponseAction
{
public:
- typedef std::function<std::tuple<int, string>(DNSResponse* dr)> func_t;
- LuaResponseAction(LuaResponseAction::func_t func) : d_func(func)
+ typedef std::function<std::tuple<int, boost::optional<string> >(DNSResponse* dr)> func_t;
+ LuaResponseAction(const LuaResponseAction::func_t& func) : d_func(func)
{}
Action operator()(DNSResponse* dr, string* ruleresult) const override;
string toString() const override
typedef boost::variant<string, vector<pair<int, string>>, std::shared_ptr<DNSRule>, DNSName, vector<pair<int, DNSName> > > luadnsrule_t;
std::shared_ptr<DNSRule> makeRule(const luadnsrule_t& var);
typedef std::unordered_map<std::string, boost::variant<std::string> > luaruleparams_t;
-void parseRuleParams(boost::optional<luaruleparams_t> params, boost::uuids::uuid& uuid);
+void parseRuleParams(boost::optional<luaruleparams_t> params, boost::uuids::uuid& uuid, uint64_t& creationOrder);
typedef NetmaskTree<DynBlock> nmts_t;