]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
dnsdist: Return an error on RemoteLog{,Response}Action() w/o protobuf 4079/head
authorRemi Gacogne <remi.gacogne@powerdns.com>
Thu, 30 Jun 2016 15:48:55 +0000 (17:48 +0200)
committerRemi Gacogne <remi.gacogne@powerdns.com>
Thu, 30 Jun 2016 15:48:55 +0000 (17:48 +0200)
pdns/dnsdist-lua2.cc

index bd72fd468a1e32635b20aad119b52b44ada40e45..f2a1f3f49bdb99e8c6056e5aab4712cb198d2003 100644 (file)
@@ -668,10 +668,18 @@ void moreLua(bool client)
     g_lua.writeFunction("setStaleCacheEntriesTTL", [](uint32_t ttl) { g_staleCacheEntriesTTL = ttl; });
 
     g_lua.writeFunction("RemoteLogAction", [](std::shared_ptr<RemoteLogger> logger) {
+#ifdef HAVE_PROTOBUF
         return std::shared_ptr<DNSAction>(new RemoteLogAction(logger));
+#else
+        throw std::runtime_error("Protobuf support is required to use RemoteLogAction");
+#endif
       });
     g_lua.writeFunction("RemoteLogResponseAction", [](std::shared_ptr<RemoteLogger> logger) {
+#ifdef HAVE_PROTOBUF
         return std::shared_ptr<DNSResponseAction>(new RemoteLogResponseAction(logger));
+#else
+        throw std::runtime_error("Protobuf support is required to use RemoteLogResponseAction");
+#endif
       });
     g_lua.writeFunction("newRemoteLogger", [client](const std::string& remote, boost::optional<uint16_t> timeout, boost::optional<uint64_t> maxQueuedEntries, boost::optional<uint8_t> reconnectWaitTime) {
         return std::make_shared<RemoteLogger>(ComboAddress(remote), timeout ? *timeout : 2, maxQueuedEntries ? *maxQueuedEntries : 100, reconnectWaitTime ? *reconnectWaitTime : 1);