Software /
code /
prosody
Diff
core/hostmanager.lua @ 3594:d3b57562cd87
hostmanager: Added support for components to hostmanager.activate().
author | Waqas Hussain <waqas20@gmail.com> |
---|---|
date | Wed, 10 Nov 2010 17:37:14 +0500 |
parent | 3587:d94aacb2771a |
child | 3597:8090880f0e18 |
line wrap: on
line diff
--- a/core/hostmanager.lua Wed Nov 10 06:27:35 2010 +0500 +++ b/core/hostmanager.lua Wed Nov 10 17:37:14 2010 +0500 @@ -49,13 +49,23 @@ prosody_events.add_handler("server-starting", load_enabled_hosts); function activate(host, host_config) - hosts[host] = {type = "local", sessions = {}, - host = host, s2sout = {}, events = events_new(), - disallow_s2s = configmanager.get(host, "core", "disallow_s2s") - or (configmanager.get(host, "core", "anonymous_login") - and (configmanager.get(host, "core", "disallow_s2s") ~= false)); - dialback_secret = configmanager.get(host, "core", "dialback_secret") or uuid_gen(); - }; + local host_session = { + host = host; + s2sout = {}; + events = events_new(); + dialback_secret = configmanager.get(host, "core", "dialback_secret") or uuid_gen(); + disallow_s2s = configmanager.get(host, "core", "disallow_s2s"); + }; + if not host_config.core.component_module then -- host + host_session.type = "local"; + host_session.sessions = {}; + if configmanager.get(host, "core", "anonymous_login") then + host_session.disallow_s2s = (configmanager.get(host, "core", "disallow_s2s") ~= false); + end + else -- component + host_session.type = "component"; + end + hosts[host] = host_session; for option_name in pairs(host_config.core) do if option_name:match("_ports$") or option_name:match("_interface$") then log("warn", "%s: Option '%s' has no effect for virtual hosts - put it in the server-wide section instead", host, option_name);