zeroconf: fail nicely on IPv6 only system
zeroconf only knows how to deal with IPv4; I develop on a system where the only
IPv4 address is 127.0.0.1.
Teach zeroconf to ignore IPv6 addresses when looking for plausible IPv4
connectivity.
--- a/hgext/zeroconf/__init__.py Mon Feb 06 17:01:06 2017 -0800
+++ b/hgext/zeroconf/__init__.py Wed Feb 08 08:08:41 2017 -0800
@@ -64,7 +64,9 @@
# Generic method, sometimes gives useless results
try:
dumbip = socket.gethostbyaddr(socket.gethostname())[2][0]
- if not dumbip.startswith('127.') and ':' not in dumbip:
+ if ':' in dumbip:
+ dumbip = '127.0.0.1'
+ if not dumbip.startswith('127.'):
return dumbip
except (socket.gaierror, socket.herror):
dumbip = '127.0.0.1'