From 8e5fec3220ced0c1c912bf63a84fc60f777c6607 Mon Sep 17 00:00:00 2001 From: Kim Alvefur Date: Tue, 15 Mar 2022 10:48:46 +0100 Subject: mod_admin_socket: Compat for luasocket prior to unix datagram support The "socket.unix" module exported only a function before https://github.com/lunarmodules/luasocket/commit/aa1b8cc9bc35e56de15eeb153c899e4c51de82a8 when datagram support was added. Fixes #1717 Thanks rsc and lucas for reporting and testing --- plugins/mod_admin_socket.lua | 3 +++ util/adminstream.lua | 3 +++ 2 files changed, 6 insertions(+) diff --git a/plugins/mod_admin_socket.lua b/plugins/mod_admin_socket.lua index b197adae..5eaef2e7 100644 --- a/plugins/mod_admin_socket.lua +++ b/plugins/mod_admin_socket.lua @@ -2,6 +2,9 @@ module:set_global(); local have_unix, unix = pcall(require, "socket.unix"); +if have_unix and type(unix) == "function" then + unix = { stream = unix }; +end if not have_unix or type(unix) ~= "table" then module:log_status("error", "LuaSocket unix socket support not available or incompatible, ensure it is up to date"); return; diff --git a/util/adminstream.lua b/util/adminstream.lua index 703deb07..8611310a 100644 --- a/util/adminstream.lua +++ b/util/adminstream.lua @@ -139,6 +139,9 @@ end local function new_connection(socket_path, listeners) local have_unix, unix = pcall(require, "socket.unix"); + if have_unix and type(unix) == "function" then + unix = { stream = unix }; + end if type(unix) ~= "table" then have_unix = false; end -- cgit v1.2.3