From: Peter van Dijk Date: Tue, 14 Mar 2017 10:30:29 +0000 (+0100) Subject: make Lua mandatory for recursor builds X-Git-Tag: rec-4.1.0-alpha1~215^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=refs%2Fpull%2F5146%2Fhead;p=thirdparty%2Fpdns.git make Lua mandatory for recursor builds --- diff --git a/pdns/lua-recursor4.cc b/pdns/lua-recursor4.cc index 7cf7d921de..2fac53682f 100644 --- a/pdns/lua-recursor4.cc +++ b/pdns/lua-recursor4.cc @@ -32,54 +32,6 @@ #include "rec-snmp.hh" #include -#if !defined(HAVE_LUA) -RecursorLua4::RecursorLua4(const std::string &fname) -{ - throw std::runtime_error("Attempt to load a Lua script in a PowerDNS binary without Lua support"); -} - -bool RecursorLua4::nxdomain(DNSQuestion& dq, int& res) -{ - return false; -} - -bool RecursorLua4::nodata(DNSQuestion& dq, int& res) -{ - return false; -} - -bool RecursorLua4::postresolve(DNSQuestion& dq, int& res) -{ - return false; -} - -bool RecursorLua4::prerpz(DNSQuestion& dq, int& ret) -{ - return false; -} - -bool RecursorLua4::preresolve(DNSQuestion& dq, int& res) -{ - return false; -} - -bool RecursorLua4::preoutquery(const ComboAddress& ns, const ComboAddress& requestor, const DNSName& query, const QType& qtype, bool isTcp, vector& res, int& ret) -{ - return false; -} - -bool RecursorLua4::ipfilter(const ComboAddress& remote, const ComboAddress& local, const struct dnsheader& dh) -{ - return false; -} - -unsigned int RecursorLua4::gettag(const ComboAddress& remote, const Netmask& ednssubnet, const ComboAddress& local, const DNSName& qname, uint16_t qtype, std::vector* policyTags, std::unordered_map& data) -{ - return 0; -} - - -#else #undef L #include "ext/luawrapper/include/LuaContext.hpp" @@ -715,5 +667,4 @@ loop:; return handled; } -#endif RecursorLua4::~RecursorLua4(){} diff --git a/pdns/lua-recursor4.hh b/pdns/lua-recursor4.hh index 0339e18eb2..80a829622b 100644 --- a/pdns/lua-recursor4.hh +++ b/pdns/lua-recursor4.hh @@ -38,9 +38,7 @@ class LuaContext; class RecursorLua4 : public boost::noncopyable { private: -#ifdef HAVE_LUA std::unique_ptr d_lw; // this is way on top because it must get destroyed _last_ -#endif public: explicit RecursorLua4(const std::string& fname); @@ -67,7 +65,6 @@ public: bool& wantsRPZ; unsigned int tag{0}; -#ifdef HAVE_LUA void addAnswer(uint16_t type, const std::string& content, boost::optional ttl, boost::optional name); void addRecord(uint16_t type, const std::string& content, DNSResourceRecord::Place place, boost::optional ttl, boost::optional name); vector > getRecords() const; @@ -93,7 +90,6 @@ public: std::unordered_map data; DNSName followupName; -#endif }; unsigned int gettag(const ComboAddress& remote, const Netmask& ednssubnet, const ComboAddress& local, const DNSName& qname, uint16_t qtype, std::vector* policyTags, std::unordered_map& data); diff --git a/pdns/rec-lua-conf.cc b/pdns/rec-lua-conf.cc index d70dd4b2e3..dce282cffc 100644 --- a/pdns/rec-lua-conf.cc +++ b/pdns/rec-lua-conf.cc @@ -1,7 +1,5 @@ #include "config.h" -#ifdef HAVE_LUA #include "ext/luawrapper/include/LuaContext.hpp" -#endif #include #include @@ -52,13 +50,6 @@ typename C::value_type::second_type constGet(const C& c, const std::string& name return iter->second; } -#ifndef HAVE_LUA -void loadRecursorLuaConfig(const std::string& fname, bool checkOnly) -{ - if(!fname.empty()) - throw PDNSException("Asked to load a Lua configuration file '"+fname+"' in binary without Lua support"); -} -#else void loadRecursorLuaConfig(const std::string& fname, bool checkOnly) { @@ -348,4 +339,3 @@ void loadRecursorLuaConfig(const std::string& fname, bool checkOnly) } -#endif diff --git a/pdns/recursordist/configure.ac b/pdns/recursordist/configure.ac index e79af91b8c..e790395ec0 100644 --- a/pdns/recursordist/configure.ac +++ b/pdns/recursordist/configure.ac @@ -100,6 +100,9 @@ PDNS_WITH_LUAJIT AS_IF([test "x$with_luajit" = "xno"], [ PDNS_WITH_LUA ]) +AS_IF([test "x$LUAPC" = "x" -a "x$LUAJITPC" = "x"], [ + AC_MSG_ERROR([Neither Lua nor LuaJIT found, Lua support is not optional]) +]) PDNS_CHECK_LUA_HPP PDNS_ENABLE_VERBOSE_LOGGING