mod_component: Remove unused variable
[prosody.git] / core / portmanager.lua
index da238dbafb0e8350933113265cd239557d2172c6..3bd143efce1cef83d14e7e065d16216f3da57cab 100644 (file)
@@ -1,7 +1,19 @@
+local config = require "core.configmanager";
+local server = require "net.server";
 
+local log = require "util.logger".init("portmanager");
 local multitable = require "util.multitable";
+local set = require "util.set";
+
+local table, package = table, package;
+local setmetatable, rawset, rawget = setmetatable, rawset, rawget;
+local type = type;
+
+local prosody = prosody;
 local fire_event = prosody.events.fire_event;
 
+module "portmanager";
+
 --- Config
 
 local default_interfaces = { "*" };
@@ -50,8 +62,6 @@ local function error_to_friendly_message(service_name, port, err)
        return friendly_message;
 end
 
-module("portmanager", package.seeall);
-
 prosody.events.add_handler("item-added/net-provider", function (event)
        local item = event.item;
        register_service(item.name, item);
@@ -63,7 +73,7 @@ end);
 
 --- Public API
 
-function activate_service(service_name)
+function activate(service_name)
        local service_info = services[service_name][1];
        if not service_info then
                return nil, "Unknown service: "..service_name;
@@ -76,13 +86,14 @@ function activate_service(service_name)
                config_prefix = "";
        end
 
-       local bind_interfaces = set.new(config.get("*", config_prefix.."interfaces")
+       local bind_interfaces = config.get("*", config_prefix.."interfaces")
                or config.get("*", config_prefix.."interface") -- COMPAT w/pre-0.9
                or (service_info.private and default_local_interfaces)
                or config.get("*", "interfaces")
                or config.get("*", "interface") -- COMPAT w/pre-0.9
                or listener.default_interface -- COMPAT w/pre0.9
-               or default_interfaces);
+               or default_interfaces
+       bind_interfaces = set.new(type(bind_interfaces)~="table" and {bind_interfaces} or bind_interfaces);
        
        local bind_ports = set.new(config.get("*", config_prefix.."ports")
                or service_info.default_ports
@@ -137,7 +148,7 @@ function register_service(service_name, service_info)
 
        if not active_services:get(service_name) then
                log("debug", "No active service for %s, activating...", service_name);
-               local ok, err = activate_service(service_name);
+               local ok, err = activate(service_name);
                if not ok then
                        log("error", "Failed to activate service '%s': %s", service_name, err or "unknown error");
                end