Bug#1104686: prosody-modules: undefined configmanager in mod_host_guard
From
Sergei Golovan@21:1/5 to
All on Sun May 4 18:10:01 2025
Package: prosody-modules
Version: 0.0~hg20250402.f315edc39f3d+dfsg-1
Severity: normal
Tags: patch
Dear Maintainer,
After enabling the "host_guard" Prosody module, I've got the following
error message in the log:
May 04 10:32:32 runnerINRWevCWhLe6 error Encountered error: /usr/lib/prosody/modules/mod_host_guard/mod_host_guard.lua:64: attempt to index a nil value (upvalue 'config')
stack traceback:
/usr/lib/prosody/modules/mod_host_guard/mod_host_guard.lua:64: in upvalue 'handle_deactivation'
/usr/lib/prosody/modules/mod_host_guard/mod_host_guard.lua:96: in upvalue 'init_hosts'
/usr/lib/prosody/modules/mod_host_guard/mod_host_guard.lua:118: in field '?'
/usr/lib/prosody/util/events.lua:81: in function </usr/lib/prosody/util/events.lua:77>
(...tail calls...)
/usr/lib/prosody/util/startup.lua:473: in field '?'
/usr/lib/prosody/util/events.lua:81: in function </usr/lib/prosody/util/events.lua:77>
(...tail calls...)
/usr/lib/prosody/util/fsm.lua:25: in upvalue 'notify_transitioned'
/usr/lib/prosody/util/fsm.lua:58: in method 'finish_startup'
/usr/lib/prosody/util/startup.lua:539: in function 'prosody.util.startup.notify_started'
/usr/lib/prosody/util/startup.lua:954: in function 'prosody.util.startup.prosody'
/usr/lib/prosody/util/async.lua:161: in function 'prosody.util.async.default_runner_func'
/usr/lib/prosody/util/async.lua:149: in function </usr/lib/prosody/util/async.lua:147>
Appears that the configmanager variable used on line 14 of
mod_host_guard.lua is undefined. The following patch fixes the bug:
----------------------------------------------------------------------------------
--- a/mod_host_guard/mod_host_guard.lua
+++ b/mod_host_guard/mod_host_guard.lua
@@ -11,7 +11,7 @@
local guard_protect = module:get_option_set("host_guard_selective", {})
local guard_block_bl = module:get_option_set("host_guard_blacklist", {})
-local config = configmanager
+local config = require "prosody.core.configmanager"
local error_reply = require "util.stanza".error_reply
local tostring = tostring
----------------------------------------------------------------------------------
-- System Information:
Debian Release: 12.10
APT prefers stable-security
APT policy: (500, 'stable-security'), (500, 'proposed-updates'), (500, 'stable'), (1, 'experimental'), (1, 'unstable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 6.12.9+bpo-amd64 (SMP w/24 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_WARN, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US:en
Shell: /