On Tue, Jan 02, 2024 at 02:31:09AM +0000, Joseph Nahmias wrote:
When trying to debug my prosody installation, I tried to run prosodyctl
check dns and got the following:

# prosodyctl check dns
lua5.4: /usr/bin/prosodyctl:635: attempt to index a number value
stack traceback:
        [C]: in for iterator 'for iterator'
        /usr/lib/prosody/util/set.lua:74: in method 'add_list'
        /usr/lib/prosody/util/set.lua:97: in function 'util.set.new'
        /usr/lib/prosody/util/prosodyctl/check.lua:718: in function 
'util.prosodyctl.check.check'

This can happen if Prosody is incorrectly given a scalar value where it
expects a Set or List of items. In this case it most likely happened
because it was set like

    c2s_direct_tls_ports = 5223

instead of

    c2s_direct_tls_ports = { 5223 }

Prosody itself has some leniency for mistakes like this but e.g.
prosodyctl did not because relevant config normalization code is part of
the API exposed to modules / plugins, which prosodyctl is not.

This has previously been reported upstream at
<https://issues.prosody.im/896> and has been fixed in 0.12.4, already
available in testing/trixie.

--
Happy New Year,
Kim "Zash" Alvefur
Prosody developer

Reply via email to