From 85893c59fb01d754532ed09ab9fa614e47000ebd Mon Sep 17 00:00:00 2001 From: "Craig R. Hughes" Date: Fri, 18 Nov 2011 11:06:16 -0800 Subject: [PATCH 1/2] Try and locate the internet-routing interface so we get that instead of 127.0.0.1 by default --- zeroconf/mdns.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/zeroconf/mdns.py b/zeroconf/mdns.py index e096a606..75b587f9 100644 --- a/zeroconf/mdns.py +++ b/zeroconf/mdns.py @@ -288,7 +288,14 @@ def __init__(self, bindaddress=None): multicast communications, listening and reaping threads.""" globals()['_GLOBAL_DONE'] = 0 if bindaddress is None: - self.intf = socket.gethostbyname(socket.gethostname()) + try: + """Try to find the internet-routing interface so we don't get 127.0.0.1""" + s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + s.connect(('www.google.com',80)) + self.intf = s.getsockname()[0] + s.close() + except: + self.intf = socket.gethostbyname(socket.gethostname()) bindaddress = self.intf else: self.intf = bindaddress From 3cd0c284393f6f5063485f236ce9bea36ed36557 Mon Sep 17 00:00:00 2001 From: "Craig R. Hughes" Date: Fri, 18 Nov 2011 11:10:46 -0800 Subject: [PATCH 2/2] Stringify DNSAddress more better --- zeroconf/dns.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/zeroconf/dns.py b/zeroconf/dns.py index 7ba35b7c..6f3bb126 100644 --- a/zeroconf/dns.py +++ b/zeroconf/dns.py @@ -318,9 +318,12 @@ def __eq__(self, other): def __repr__(self): """String representation""" try: - return socket.inet_ntoa(self.address) + return self.toString(socket.inet_ntoa(self.address)) except: - return self.address + try: + return self.toString(socket.inet_ntop(socket.AF_INET6, self.address)) + except: + return self.address class DNSHinfo(DNSRecord): """A DNS host information record"""