# HG changeset patch # User Kim Alvefur # Date 1644611813 -3600 # Node ID cb459f8fa740b846e922c3d6025a977a381e9984 # Parent 249eb306f6688ec3ca443885544f4c3ca8b3627d mod_c2s,mod_s2s: Disable and close port listeners before closing sessions This ensures no new clients can start connecting during shutdown diff -r 249eb306f668 -r cb459f8fa740 .luacheckrc --- a/.luacheckrc Wed Oct 06 14:50:47 2021 +0200 +++ b/.luacheckrc Fri Feb 11 21:36:53 2022 +0100 @@ -48,6 +48,7 @@ "module.saved_state", "module.global", "module.path", + "module.items", -- Module API "module.add_extension", diff -r 249eb306f668 -r cb459f8fa740 plugins/mod_c2s.lua --- a/plugins/mod_c2s.lua Wed Oct 06 14:50:47 2021 +0200 +++ b/plugins/mod_c2s.lua Fri Feb 11 21:36:53 2022 +0100 @@ -423,6 +423,13 @@ module:hook("c2s-read-timeout", keepalive, -1); module:hook("server-stopping", function(event) + -- Close ports + local pm = require "core.portmanager"; + for _, netservice in pairs(module.items["net-provider"]) do + pm.unregister_service(netservice.name, netservice); + end + + -- Close sessions local reason = event.reason; for _, session in pairs(sessions) do session:close{ condition = "system-shutdown", text = reason }; diff -r 249eb306f668 -r cb459f8fa740 plugins/mod_s2s.lua --- a/plugins/mod_s2s.lua Wed Oct 06 14:50:47 2021 +0200 +++ b/plugins/mod_s2s.lua Fri Feb 11 21:36:53 2022 +0100 @@ -958,6 +958,13 @@ module:hook("s2s-check-certificate", check_auth_policy, -1); module:hook("server-stopping", function(event) + -- Close ports + local pm = require "core.portmanager"; + for _, netservice in pairs(module.items["net-provider"]) do + pm.unregister_service(netservice.name, netservice); + end + + -- Close sessions local reason = event.reason; for _, session in pairs(sessions) do session:close{ condition = "system-shutdown", text = reason };