aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/componentmanager.lua13
1 files changed, 12 insertions, 1 deletions
diff --git a/core/componentmanager.lua b/core/componentmanager.lua
index 6984ba31..e4799790 100644
--- a/core/componentmanager.lua
+++ b/core/componentmanager.lua
@@ -70,7 +70,18 @@ end
function create_component(host, component, events)
-- TODO check for host well-formedness
- return { type = "component", host = host, connected = true, s2sout = {}, events = events or events_new() };
+ local ssl_ctx;
+ if host then
+ -- We need to find SSL context to use...
+ -- Discussion in prosody@ concluded that
+ -- 1 level back is usually enough by default
+ local base_host = host:gsub("^[^%.]+", "");
+ if hosts[base_host] then
+ ssl_ctx = hosts[base_host].ssl_ctx;
+ end
+ end
+ return { type = "component", host = host, connected = true, s2sout = {},
+ ssl_ctx = ssl_ctx, events = events or events_new() };
end
function register_component(host, component, session)