From 14255a8d3ba0922205a0c9366b4bb22f09bd60c8 Mon Sep 17 00:00:00 2001 From: nicolargo Date: Sun, 22 Jan 2017 10:24:52 +0100 Subject: [PATCH] Autodiscover error while binding on IPv6 addresses (issue #1002) --- NEWS | 4 +++- glances/autodiscover.py | 8 ++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/NEWS b/NEWS index 8e96ea21..5672725f 100644 --- a/NEWS +++ b/NEWS @@ -5,7 +5,9 @@ Glances Version 2 Version 2.8.1 ============= -... +Bugs corrected: + + * Autodiscover error while binding on IPv6 addresses (issue #1002) Version 2.8 =========== diff --git a/glances/autodiscover.py b/glances/autodiscover.py index d13a3f29..52f799e9 100644 --- a/glances/autodiscover.py +++ b/glances/autodiscover.py @@ -205,10 +205,14 @@ class GlancesAutoDiscoverClient(object): # Issue #528 (no network interface available) pass + # Check IP v4/v6 + address_family = socket.getaddrinfo(zeroconf_bind_address, args.port)[0][0] + + # Start the zeroconf service self.info = ServiceInfo( zeroconf_type, '{}:{}.{}'.format(hostname, args.port, zeroconf_type), - address=socket.inet_aton(zeroconf_bind_address), port=args.port, - weight=0, priority=0, properties={}, server=hostname) + address=socket.inet_pton(address_family, zeroconf_bind_address), + port=args.port, weight=0, priority=0, properties={}, server=hostname) try: self.zeroconf.register_service(self.info) except socket.error as e: