File

mod_s2s_reload_newcomponent/mod_s2s_reload_newcomponent.lua @ 4326:f6fdefc5c6ac

mod_roster_command: Fix subscription when the "user JID" is a bare domain. Do not attempt to update the roster when the user is bare domain (e.g. a component), since they don't have rosters and the attempt results in an error: $ prosodyctl mod_roster_command subscribe proxy.example.com contact@example.com xxxxxxxxxxFailed to execute command: Error: /usr/lib/prosody/core/rostermanager.lua:104: attempt to concatenate local 'username' (a nil value) stack traceback: /usr/lib/prosody/core/rostermanager.lua:104: in function 'load_roster' /usr/lib/prosody/core/rostermanager.lua:305: in function 'set_contact_pending_out' mod_roster_command.lua:44: in function 'subscribe'
author Boris Grozev <boris@jitsi.org>
date Tue, 05 Jan 2021 13:15:00 -0600
parent 2781:fe5bb7b13a59
line wrap: on
line source

local modulemanager = require "core.modulemanager";
local config = require "core.configmanager";

module.host = "*";

local function reload_components()
        local defined_hosts = config.getconfig();

        for host in pairs(defined_hosts) do
                if (not hosts[host] and host ~= "*") then
                        module:log ("debug", "loading new component %s", host);
                        modulemanager.load(host, config.get(host, "core", "component_module"));
                end
        end;

        return;
end

module:hook("config-reloaded", reload_components);