mod_admin_socket: Compat for luasocket prior to unix datagram support 0.12
authorKim Alvefur <zash@zash.se>
Tue, 15 Mar 2022 10:48:46 +0100
branch0.12
changeset 12396 5373724e08a5
parent 12395 a15647d42880
child 12397 6966026262f4
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
util/adminstream.lua
--- a/plugins/mod_admin_socket.lua	Tue Mar 15 21:59:51 2022 +0100
+++ b/plugins/mod_admin_socket.lua	Tue Mar 15 10:48:46 2022 +0100
@@ -2,6 +2,9 @@
 
 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;
--- a/util/adminstream.lua	Tue Mar 15 21:59:51 2022 +0100
+++ b/util/adminstream.lua	Tue Mar 15 10:48:46 2022 +0100
@@ -139,6 +139,9 @@
 
 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