From 63beb26d1e8fe5eee2bf4f2665df9b407830e907 Mon Sep 17 00:00:00 2001 From: Greg Date: Tue, 12 Jan 2016 17:55:17 -0800 Subject: [PATCH] dnsdist: README hints to AllowAction() yet doesnt exist, add it --- pdns/dnsdist-console.cc | 2 +- pdns/dnsdist-lua.cc | 4 ++++ pdns/dnsrulactions.hh | 13 +++++++++++++ 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/pdns/dnsdist-console.cc b/pdns/dnsdist-console.cc index e5aa6e2829..bd06f83c67 100644 --- a/pdns/dnsdist-console.cc +++ b/pdns/dnsdist-console.cc @@ -188,7 +188,7 @@ char* my_generator(const char* text, int state) "addDisableValidationRule(", "addDNSCryptBind(", "addDomainBlock(", "addDomainSpoof(", "addDynBlocks(", "addLocal(", "addLuaAction(", "addNoRecurseRule(", "addPoolRule(", "addQPSLimit(", "addQPSPoolRule(", - "AllRule(", "AndRule(", + "AllowAction(", "AllRule(", "AndRule(", "benchRule(", "carbonServer(", "controlSocket(", "clearDynBlocks()", "DelayAction(", "delta()", "DisableValidationAction(", "DropAction(", diff --git a/pdns/dnsdist-lua.cc b/pdns/dnsdist-lua.cc index d8c1dd168e..91df22529a 100644 --- a/pdns/dnsdist-lua.cc +++ b/pdns/dnsdist-lua.cc @@ -588,6 +588,10 @@ vector> setupLua(bool client, const std::string& confi return std::shared_ptr(new DropAction); }); + g_lua.writeFunction("AllowAction", []() { + return std::shared_ptr(new AllowAction); + }); + g_lua.writeFunction("DelayAction", [](int msec) { return std::shared_ptr(new DelayAction(msec)); }); diff --git a/pdns/dnsrulactions.hh b/pdns/dnsrulactions.hh index 5cc540e447..323ee2b615 100644 --- a/pdns/dnsrulactions.hh +++ b/pdns/dnsrulactions.hh @@ -224,6 +224,19 @@ public: } }; +class AllowAction : public DNSAction +{ +public: + DNSAction::Action operator()(const ComboAddress& remote, const DNSName& qname, uint16_t qtype, dnsheader* dh, uint16_t& len, uint16_t bufferSize, string* ruleresult) const override + { + return Action::Allow; + } + string toString() const override + { + return "allow"; + } +}; + class QPSAction : public DNSAction { -- 2.47.2