]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
dnsdist: Fail if we can't check the configuration file
authorRemi Gacogne <remi.gacogne@powerdns.com>
Mon, 25 Mar 2019 10:41:09 +0000 (11:41 +0100)
committerRemi Gacogne <remi.gacogne@powerdns.com>
Mon, 30 Jan 2023 10:39:51 +0000 (11:39 +0100)
pdns/dnsdist-lua.cc
pdns/dnsdist.cc
pdns/dnsdist.hh

index e7d8c2dfed15815f6943513a1eda6c3a63892d55..320b67b39d8698fa3a873ab8e893678725e140dd 100644 (file)
@@ -3181,10 +3181,17 @@ vector<std::function<void(void)>> setupLua(LuaContext& luaCtx, bool client, bool
 #endif
 
   std::ifstream ifs(config);
-  if (!ifs)
-    warnlog("Unable to read configuration from '%s'", config);
-  else
+  if (!ifs) {
+    if (configCheck) {
+      throw std::runtime_error("Unable to read configuration file from " + config);
+    }
+    else {
+      warnlog("Unable to read configuration from '%s'", config);
+    }
+  }
+  else {
     vinfolog("Read configuration from '%s'", config);
+  }
 
   luaCtx.executeCode(ifs);
 
index bd3cec2a540a6bc9b084fa504d2f717e7c5abd1d..b5a2f24dea567d7b2f2850a60ee54b0ddad2dfe1 100644 (file)
@@ -2604,7 +2604,7 @@ int main(int argc, char** argv)
     ServerPolicy leastOutstandingPol{"leastOutstanding", leastOutstanding, false};
 
     g_policy.setState(leastOutstandingPol);
-    if(g_cmdLine.beClient || !g_cmdLine.command.empty()) {
+    if (g_cmdLine.beClient || !g_cmdLine.command.empty()) {
       setupLua(*(g_lua.lock()), true, false, g_cmdLine.config);
       if (clientAddress != ComboAddress())
         g_serverControl = clientAddress;
index 6b98fb29d5d19e43830fcc2a6c8943a917141f16..882535611370b6702438fd1795a0b491b1ed9e48 100644 (file)
@@ -1192,8 +1192,6 @@ struct LocalHolders
   LocalStateHolder<pools_t> pools;
 };
 
-vector<std::function<void(void)>> setupLua(bool client, const std::string& config);
-
 void tcpAcceptorThread(std::vector<ClientState*> states);
 
 #ifdef HAVE_DNS_OVER_HTTPS