Comparison

plugins/mod_s2s/s2sout.lib.lua @ 5701:746b263e09cf

mod_s2s/s2sout.lib: Use new util.net.local_addresses() to fetch local interface addresses
author Matthew Wild <mwild1@gmail.com>
date Tue, 18 Jun 2013 12:12:12 +0100
parent 5700:94081567ea9e
child 5702:a56691e3c7d1
comparison
equal deleted inserted replaced
5700:94081567ea9e 5701:746b263e09cf
17 local socket = require "socket"; 17 local socket = require "socket";
18 local adns = require "net.adns"; 18 local adns = require "net.adns";
19 local dns = require "net.dns"; 19 local dns = require "net.dns";
20 local t_insert, t_sort, ipairs = table.insert, table.sort, ipairs; 20 local t_insert, t_sort, ipairs = table.insert, table.sort, ipairs;
21 local st = require "util.stanza"; 21 local st = require "util.stanza";
22 local local_addresses = require "util.net".local_addresses;
22 23
23 local s2s_destroy_session = require "core.s2smanager".destroy_session; 24 local s2s_destroy_session = require "core.s2smanager".destroy_session;
24 25
25 local log = module._log; 26 local log = module._log;
26 27
331 module:log("warn", "s2s not listening on any ports, outgoing connections may fail"); 332 module:log("warn", "s2s not listening on any ports, outgoing connections may fail");
332 return; 333 return;
333 end 334 end
334 for source, _ in pairs(s2s_sources) do 335 for source, _ in pairs(s2s_sources) do
335 if source == "*" or source == "0.0.0.0" then 336 if source == "*" or source == "0.0.0.0" then
336 if not socket.local_addresses then 337 for _, addr in ipairs(local_addresses("ipv4", true)) do
337 sources[#sources + 1] = new_ip("0.0.0.0", "IPv4"); 338 sources[#sources + 1] = new_ip(addr, "IPv4");
338 else
339 for _, addr in ipairs(socket.local_addresses("ipv4", true)) do
340 sources[#sources + 1] = new_ip(addr, "IPv4");
341 end
342 end 339 end
343 elseif source == "::" then 340 elseif source == "::" then
344 if not socket.local_addresses then 341 for _, addr in ipairs(local_addresses("ipv6", true)) do
345 sources[#sources + 1] = new_ip("::", "IPv6"); 342 sources[#sources + 1] = new_ip(addr, "IPv6");
346 else
347 for _, addr in ipairs(socket.local_addresses("ipv6", true)) do
348 sources[#sources + 1] = new_ip(addr, "IPv6");
349 end
350 end 343 end
351 else 344 else
352 sources[#sources + 1] = new_ip(source, (source:find(":") and "IPv6") or "IPv4"); 345 sources[#sources + 1] = new_ip(source, (source:find(":") and "IPv6") or "IPv4");
353 end 346 end
354 end 347 end