detect and send all our local IPs from local DNS. Fixes #4249
This commit is contained in:
parent
50cf012b75
commit
938593952d
|
@ -227,11 +227,17 @@ class ConnectionBytestream:
|
||||||
ostreamhost.setAttr('host', ft_host)
|
ostreamhost.setAttr('host', ft_host)
|
||||||
ostreamhost.setAttr('jid', sender)
|
ostreamhost.setAttr('jid', sender)
|
||||||
try:
|
try:
|
||||||
thehost = self.peerhost[0]
|
# The ip we're connected to server with
|
||||||
streamhost = common.xmpp.Node(tag = 'streamhost') # My IP
|
my_ips = [self.peerhost[0]]
|
||||||
|
# all IPs from local DNS
|
||||||
|
for addr in socket.getaddrinfo(socket.gethostname(), None):
|
||||||
|
if not addr[4][0] in my_ips:
|
||||||
|
my_ips.append(addr[4][0])
|
||||||
|
for ip in my_ips:
|
||||||
|
streamhost = common.xmpp.Node(tag = 'streamhost')
|
||||||
query.addChild(node = streamhost)
|
query.addChild(node = streamhost)
|
||||||
streamhost.setAttr('port', unicode(port))
|
streamhost.setAttr('port', unicode(port))
|
||||||
streamhost.setAttr('host', thehost)
|
streamhost.setAttr('host', ip)
|
||||||
streamhost.setAttr('jid', sender)
|
streamhost.setAttr('jid', sender)
|
||||||
except socket.gaierror:
|
except socket.gaierror:
|
||||||
self.dispatch('ERROR', (_('Wrong host'),
|
self.dispatch('ERROR', (_('Wrong host'),
|
||||||
|
|
Loading…
Reference in New Issue