Comparison

core/portmanager.lua @ 6054:7a5ddbaf758d

Merge 0.9->0.10
author Matthew Wild <mwild1@gmail.com>
date Wed, 02 Apr 2014 17:41:38 +0100
parent 6041:a97591d2e1ad
parent 5776:bd0ff8ae98a8
child 6295:cb12ff49503d
comparison
equal deleted inserted replaced
6053:2f93a04564b2 6054:7a5ddbaf758d
87 function activate(service_name) 87 function activate(service_name)
88 local service_info = services[service_name][1]; 88 local service_info = services[service_name][1];
89 if not service_info then 89 if not service_info then
90 return nil, "Unknown service: "..service_name; 90 return nil, "Unknown service: "..service_name;
91 end 91 end
92 92
93 local listener = service_info.listener; 93 local listener = service_info.listener;
94 94
95 local config_prefix = (service_info.config_prefix or service_name).."_"; 95 local config_prefix = (service_info.config_prefix or service_name).."_";
96 if config_prefix == "_" then 96 if config_prefix == "_" then
97 config_prefix = ""; 97 config_prefix = "";
103 or config.get("*", "interfaces") 103 or config.get("*", "interfaces")
104 or config.get("*", "interface") -- COMPAT w/pre-0.9 104 or config.get("*", "interface") -- COMPAT w/pre-0.9
105 or listener.default_interface -- COMPAT w/pre0.9 105 or listener.default_interface -- COMPAT w/pre0.9
106 or default_interfaces 106 or default_interfaces
107 bind_interfaces = set.new(type(bind_interfaces)~="table" and {bind_interfaces} or bind_interfaces); 107 bind_interfaces = set.new(type(bind_interfaces)~="table" and {bind_interfaces} or bind_interfaces);
108 108
109 local bind_ports = config.get("*", config_prefix.."ports") 109 local bind_ports = config.get("*", config_prefix.."ports")
110 or service_info.default_ports 110 or service_info.default_ports
111 or {service_info.default_port 111 or {service_info.default_port
112 or listener.default_port -- COMPAT w/pre-0.9 112 or listener.default_port -- COMPAT w/pre-0.9
113 } 113 }
114 bind_ports = set.new(type(bind_ports) ~= "table" and { bind_ports } or bind_ports ); 114 bind_ports = set.new(type(bind_ports) ~= "table" and { bind_ports } or bind_ports );
115 115
116 local mode, ssl = listener.default_mode or default_mode; 116 local mode, ssl = listener.default_mode or default_mode;
117 local hooked_ports = {}; 117 local hooked_ports = {};
118 118
119 for interface in bind_interfaces do 119 for interface in bind_interfaces do
120 for port in bind_ports do 120 for port in bind_ports do
121 local port_number = tonumber(port); 121 local port_number = tonumber(port);
122 if not port_number then 122 if not port_number then
123 log("error", "Invalid port number specified for service '%s': %s", service_info.name, tostring(port)); 123 log("error", "Invalid port number specified for service '%s': %s", service_info.name, tostring(port));
188 local ok, err = activate(service_name); 188 local ok, err = activate(service_name);
189 if not ok then 189 if not ok then
190 log("error", "Failed to activate service '%s': %s", service_name, err or "unknown error"); 190 log("error", "Failed to activate service '%s': %s", service_name, err or "unknown error");
191 end 191 end
192 end 192 end
193 193
194 fire_event("service-added", { name = service_name, service = service_info }); 194 fire_event("service-added", { name = service_name, service = service_info });
195 return true; 195 return true;
196 end 196 end
197 197
198 function unregister_service(service_name, service_info) 198 function unregister_service(service_name, service_info)