Mercurial > prosody-hg
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 |
| parents | 94081567ea9e |
| children | 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 |
