local config = require "core.configmanager";
local certmanager = require "core.certmanager";
local server = require "net.server";
+local socket = require "socket";
local log = require "util.logger".init("portmanager");
local multitable = require "util.multitable";
local default_interfaces = { "*" };
local default_local_interfaces = { "127.0.0.1" };
-if config.get("*", "use_ipv6") then
+if socket.tcp6 and config.get("*", "use_ipv6") ~= false then
table.insert(default_interfaces, "::");
table.insert(default_local_interfaces, "::1");
end
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")
+ local bind_ports = config.get("*", config_prefix.."ports")
or service_info.default_ports
or {service_info.default_port
or listener.default_port -- COMPAT w/pre-0.9
- });
+ }
+ bind_ports = set.new(type(bind_ports) ~= "table" and { bind_ports } or bind_ports );
local mode, ssl = listener.default_mode or "*a";