]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
Warn that addLocal() and setLocal() can't be used at runtime 3017/head
authorRemi Gacogne <remi.gacogne@powerdns.com>
Thu, 10 Dec 2015 16:18:30 +0000 (17:18 +0100)
committerRemi Gacogne <remi.gacogne@powerdns.com>
Thu, 10 Dec 2015 16:18:30 +0000 (17:18 +0100)
pdns/dnsdist-lua.cc

index 45a8d0c70b01009e31ebd4a350bddc063b800580..e1cd5badf3758b81e380955eeb5549f5078f6bb9 100644 (file)
@@ -289,6 +289,10 @@ vector<std::function<void(void)>> setupLua(bool client, const std::string& confi
   g_lua.writeFunction("setLocal", [client](const std::string& addr, boost::optional<bool> doTCP) {
       if(client)
        return;
+      if (g_configurationDone) {
+        g_outputBuffer="setLocal cannot be used at runtime!\n";
+        return;
+      }
       try {
        ComboAddress loc(addr, 53);
        g_locals.clear();
@@ -302,6 +306,10 @@ vector<std::function<void(void)>> setupLua(bool client, const std::string& confi
   g_lua.writeFunction("addLocal", [client](const std::string& addr, boost::optional<bool> doTCP) {
       if(client)
        return;
+      if (g_configurationDone) {
+        g_outputBuffer="addLocal cannot be used at runtime!\n";
+        return;
+      }
       try {
        ComboAddress loc(addr, 53);
        g_locals.push_back({loc, doTCP ? *doTCP : true}); /// only works pre-startup, so no sync necessary