8 |
8 |
9 local prosody = prosody; |
9 local prosody = prosody; |
10 local log = require "util.logger".init("componentmanager"); |
10 local log = require "util.logger".init("componentmanager"); |
11 local configmanager = require "core.configmanager"; |
11 local configmanager = require "core.configmanager"; |
12 local modulemanager = require "core.modulemanager"; |
12 local modulemanager = require "core.modulemanager"; |
13 local core_route_stanza = core_route_stanza; |
|
14 local jid_split = require "util.jid".split; |
13 local jid_split = require "util.jid".split; |
15 local events_new = require "util.events".new; |
14 local events_new = require "util.events".new; |
16 local st = require "util.stanza"; |
15 local st = require "util.stanza"; |
17 local hosts = hosts; |
16 local hosts = hosts; |
18 |
17 |
21 local components = {}; |
20 local components = {}; |
22 |
21 |
23 local disco_items = require "util.multitable".new(); |
22 local disco_items = require "util.multitable".new(); |
24 local NULL = {}; |
23 local NULL = {}; |
25 |
24 |
26 prosody.events.add_handler("server-starting", function () core_route_stanza = _G.core_route_stanza; end); |
|
27 |
|
28 module "componentmanager" |
25 module "componentmanager" |
29 |
26 |
30 local function default_component_handler(origin, stanza) |
27 local function default_component_handler(origin, stanza) |
31 log("warn", "Stanza being handled by default component, bouncing error"); |
28 log("warn", "Stanza being handled by default component, bouncing error"); |
32 if stanza.attr.type ~= "error" and stanza.attr.type ~= "result" then |
29 if stanza.attr.type ~= "error" and stanza.attr.type ~= "result" then |
33 core_route_stanza(nil, st.error_reply(stanza, "wait", "service-unavailable", "Component unavailable")); |
30 origin.send(st.error_reply(stanza, "wait", "service-unavailable", "Component unavailable")); |
34 end |
31 end |
35 end |
32 end |
36 |
33 |
37 local components_loaded_once; |
34 local components_loaded_once; |
38 function load_enabled_components(config) |
35 function load_enabled_components(config) |