]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
dnsdist: Make the logging functions available to all Lua environments 14438/head
authorRemi Gacogne <remi.gacogne@powerdns.com>
Mon, 8 Jul 2024 14:30:41 +0000 (16:30 +0200)
committerRemi Gacogne <remi.gacogne@powerdns.com>
Mon, 8 Jul 2024 14:30:41 +0000 (16:30 +0200)
pdns/dnsdist-lua-bindings.cc
pdns/dnsdist-lua.cc
pdns/dnsdist-lua.hh
pdns/dnsdistdist/dnsdist-lua-ffi.cc

index 3f5d6e21159af449016a59064b752804e2aae183..ffed8f0bc171560ea4c2a13f2fa309e4cd6266cd 100644 (file)
@@ -31,8 +31,7 @@
 #include "dolog.hh"
 #include "xsk.hh"
 
-// NOLINTNEXTLINE(readability-function-cognitive-complexity): this function declares Lua bindings, even with a good refactoring it will likely blow up the threshold
-void setupLuaBindings(LuaContext& luaCtx, bool client, bool configCheck)
+void setupLuaBindingsLogging(LuaContext& luaCtx)
 {
   luaCtx.writeFunction("vinfolog", [](const string& arg) {
       vinfolog("%s", arg);
@@ -50,7 +49,11 @@ void setupLuaBindings(LuaContext& luaCtx, bool client, bool configCheck)
       g_outputBuffer+=arg;
       g_outputBuffer+="\n";
     });
+}
 
+// NOLINTNEXTLINE(readability-function-cognitive-complexity): this function declares Lua bindings, even with a good refactoring it will likely blow up the threshold
+void setupLuaBindings(LuaContext& luaCtx, bool client, bool configCheck)
+{
   /* Exceptions */
   luaCtx.registerFunction<string(std::exception_ptr::*)()const>("__tostring", [](const std::exception_ptr& eptr) -> std::string {
       try {
index 73a8567b241aa09ab1d6b2f886751e1e0441590c..f0037c1cc96602c7f237a5b574c2787bf1fe6372 100644 (file)
@@ -3482,6 +3482,7 @@ vector<std::function<void(void)>> setupLua(LuaContext& luaCtx, bool client, bool
   setupLuaBindingsDNSParser(luaCtx);
   setupLuaBindingsDNSQuestion(luaCtx);
   setupLuaBindingsKVS(luaCtx, client);
+  setupLuaBindingsLogging(luaCtx);
   setupLuaBindingsNetwork(luaCtx, client);
   setupLuaBindingsPacketCache(luaCtx, client);
   setupLuaBindingsProtoBuf(luaCtx, client, configCheck);
index fed468c100cf96d28588ac4855028a3beb2668c2..fc99e202cfc9d66914ba21a43a17f5980071addf 100644 (file)
@@ -169,6 +169,7 @@ void setupLuaBindingsDNSCrypt(LuaContext& luaCtx, bool client);
 void setupLuaBindingsDNSParser(LuaContext& luaCtx);
 void setupLuaBindingsDNSQuestion(LuaContext& luaCtx);
 void setupLuaBindingsKVS(LuaContext& luaCtx, bool client);
+void setupLuaBindingsLogging(LuaContext& luaCtx);
 void setupLuaBindingsNetwork(LuaContext& luaCtx, bool client);
 void setupLuaBindingsPacketCache(LuaContext& luaCtx, bool client);
 void setupLuaBindingsProtoBuf(LuaContext& luaCtx, bool client, bool configCheck);
index 8ab36f51696fb50b9dc109a370672455aaa207ec..118d0ce8337cd18a2c6e049ed41390973facee66 100644 (file)
@@ -1012,6 +1012,7 @@ void setupLuaLoadBalancingContext(LuaContext& luaCtx)
 {
   setupLuaBindings(luaCtx, true, false);
   setupLuaBindingsDNSQuestion(luaCtx);
+  setupLuaBindingsLogging(luaCtx);
   setupLuaBindingsKVS(luaCtx, true);
   setupLuaVars(luaCtx);
 
@@ -1023,6 +1024,7 @@ void setupLuaLoadBalancingContext(LuaContext& luaCtx)
 void setupLuaFFIPerThreadContext(LuaContext& luaCtx)
 {
   setupLuaVars(luaCtx);
+  setupLuaBindingsLogging(luaCtx);
 
 #ifdef LUAJIT_VERSION
   luaCtx.executeCode(getLuaFFIWrappers());