-
Notifications
You must be signed in to change notification settings - Fork 230
Closed
Description
OS: Ubuntu 22.04.3 LTS
Python: 3.10.12 (though the issue occurs with 3.12 as well.)
zeroconf: 0.131.0
Hi all,
I've noticed that the parsed_scoped_addresses() will sometimes return IPv6 addresses with the scope ID uninitialized, e.g. fe80::be0f:a7ff:fe00:8a54%0.
When using the address this naturally results in an invalid argument (errno 22) OSError (e.g. from socket.connect.)
Here's some code I've been using to replicate the issue. (Naturally, replicating the issue requires that there be some services on the network matching those specified in the code.) Any idea what I'm doing wrong?
import time
from zeroconf import ServiceBrowser, ServiceListener, Zeroconf, InterfaceChoice, IPVersion
class MyListener(ServiceListener):
def __init__(self):
self.address_cache_ = {}
def update_service(self, zc: Zeroconf, type_: str, name: str) -> None:
pass
def remove_service(self, zc: Zeroconf, type_: str, name: str) -> None:
pass
def add_service(self, zc: Zeroconf, type_: str, name: str) -> None:
info = zc.get_service_info(type_, name)
if info:
print(info.parsed_scoped_addresses())
zeroconf = Zeroconf(InterfaceChoice.All, False, IPVersion.All)
listener = MyListener()
browser = ServiceBrowser(zeroconf, ["_roger._tcp.local.", "_ouster-lidar._tcp.local."], listener)
time.sleep(10)
zeroconf.close()
Here is some output from the script showing the addresses with the uninitialized scope ids:
['<redacted>.65', 'fe80::be0f:a7ff:fe00:8a98%0', '<redacted>:8a98']
['<redacted>.65', 'fe80::be0f:a7ff:fe00:8a98%0', '<redacted>:8a98']
['<redacted>.124', 'fe80::be0f:a7ff:fe00:8a54%0', '<redacted>:8a54']
['<redacted>.124', 'fe80::be0f:a7ff:fe00:8a54%0', '<redacted>:8a54']
['<redacted>.149']
['<redacted>.149']
['<redacted>.24', 'fe80::be0f:a7ff:fe00:8a20%0', '<redacted>:8a20']
['<redacted>.24', 'fe80::be0f:a7ff:fe00:8a20%0', '<redacted>:8a20']
['<redacted>.200', 'fe80::be0f:a7ff:fe00:9bd9%0', '<redacted>:9bd9']
['<redacted>.200', 'fe80::be0f:a7ff:fe00:9bd9%0', '<redacted>:9bd9']
['<redacted>.114', 'fe80::be0f:a7ff:fe00:83bc%0', '<redacted>:83bc']
['<redacted>.114', 'fe80::be0f:a7ff:fe00:83bc%0', '<redacted>:83bc']
['<redacted>.184', 'fe80::be0f:a7ff:fe00:8be5%0', '<redacted>:8be5']
['<redacted>.184', 'fe80::be0f:a7ff:fe00:8be5%0', '<redacted>:8be5']
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels