Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-zeroconf for openSUSE:Factory
checked in at 2021-11-07 00:19:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-zeroconf (Old)
and /work/SRC/openSUSE:Factory/.python-zeroconf.new.1890 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-zeroconf"
Sun Nov 7 00:19:08 2021 rev:27 rq:929910 version:0.36.12
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-zeroconf/python-zeroconf.changes
2021-10-27 22:21:15.771200419 +0200
+++
/work/SRC/openSUSE:Factory/.python-zeroconf.new.1890/python-zeroconf.changes
2021-11-07 00:19:30.208553109 +0100
@@ -1,0 +2,8 @@
+Sat Nov 6 18:15:23 UTC 2021 - Dirk M??ller <[email protected]>
+
+- update to 0.36.12:
+ * scope_id is now stripped from IPv6 addresses if given
+ * Optimized decoding labels from incoming packets
+ * Prevent service lookups from deadlocking if time abruptly moves backwards
+
+-------------------------------------------------------------------
Old:
----
python-zeroconf-0.36.9.obscpio
New:
----
python-zeroconf-0.36.12.obscpio
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-zeroconf.spec ++++++
--- /var/tmp/diff_new_pack.XhfIgr/_old 2021-11-07 00:19:30.756553135 +0100
+++ /var/tmp/diff_new_pack.XhfIgr/_new 2021-11-07 00:19:30.760553135 +0100
@@ -19,7 +19,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%define skip_python2 1
Name: python-zeroconf
-Version: 0.36.9
+Version: 0.36.12
Release: 0
Summary: Pure Python Multicast DNS Service Discovery Library
(Bonjour/Avahi compatible)
License: LGPL-2.0-only
++++++ _service ++++++
--- /var/tmp/diff_new_pack.XhfIgr/_old 2021-11-07 00:19:30.792553136 +0100
+++ /var/tmp/diff_new_pack.XhfIgr/_new 2021-11-07 00:19:30.792553136 +0100
@@ -2,8 +2,8 @@
<service name="obs_scm" mode="disabled">
<param name="url">https://github.com/jstasiak/python-zeroconf</param>
<param name="scm">git</param>
- <param name="revision">0.36.9</param>
- <param name="version">0.36.9</param>
+ <param name="revision">0.36.12</param>
+ <param name="version">0.36.12</param>
</service>
<service name="set_version" mode="disabled"/>
<service mode="buildtime" name="tar" />
++++++ python-zeroconf-0.36.9.obscpio -> python-zeroconf-0.36.12.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-zeroconf-0.36.9/.github/workflows/ci.yml
new/python-zeroconf-0.36.12/.github/workflows/ci.yml
--- old/python-zeroconf-0.36.9/.github/workflows/ci.yml 2021-10-23
01:14:47.000000000 +0200
+++ new/python-zeroconf-0.36.12/.github/workflows/ci.yml 2021-11-05
06:11:04.000000000 +0100
@@ -42,6 +42,11 @@
python -m venv env
${{ matrix.venvcmd }}
pip install --upgrade -r requirements-dev.txt
pytest-github-actions-annotate-failures
+ - name: Validate readme
+ if: ${{ runner.os == 'Linux' && matrix.python-version != 'pypy3' }}
+ run: |
+ ${{ matrix.venvcmd }}
+ python -m readme_renderer README.rst -o -
- name: Run flake8
if: ${{ runner.os == 'Linux' && matrix.python-version != 'pypy3' }}
run: |
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-zeroconf-0.36.9/README.rst
new/python-zeroconf-0.36.12/README.rst
--- old/python-zeroconf-0.36.9/README.rst 2021-10-23 01:14:47.000000000
+0200
+++ new/python-zeroconf-0.36.12/README.rst 2021-11-05 06:11:04.000000000
+0100
@@ -138,10 +138,32 @@
Changelog
=========
+0.36.12
+=======
+
+* Prevent service lookups from deadlocking if time abruptly moves backwards
(#1006) @bdraco
+
+ The typical reason time moves backwards is via an ntp update
+
+0.36.11
+=======
+
+No functional changes from 0.36.10. This release corrects an error in the
README.rst file
+that prevented the build from uploading to PyPI
+
+0.36.10
+=======
+
+* scope_id is now stripped from IPv6 addresses if given (#1020) @StevenLooman
+
+ cpython 3.9 allows a suffix %scope_id in IPv6Address. This caused an error
+ with the existing code if it was not stripped
+* Optimized decoding labels from incoming packets (#1019) @bdraco
+
0.36.9
======
-* Ensure ServiceInfo orders newest addresess first (#1012) @bdraco
+* Ensure ServiceInfo orders newest addresses first (#1012) @bdraco
This change effectively restored the behavior before 1s cache flush
expire behavior described in rfc6762 section 10.2 was added for callers that
rely on this.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-zeroconf-0.36.9/requirements-dev.txt
new/python-zeroconf-0.36.12/requirements-dev.txt
--- old/python-zeroconf-0.36.9/requirements-dev.txt 2021-10-23
01:14:47.000000000 +0200
+++ new/python-zeroconf-0.36.12/requirements-dev.txt 2021-11-05
06:11:04.000000000 +0100
@@ -14,3 +14,4 @@
pytest-asyncio
pytest-cov
pytest-timeout
+readme_renderer
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-zeroconf-0.36.9/setup.cfg
new/python-zeroconf-0.36.12/setup.cfg
--- old/python-zeroconf-0.36.9/setup.cfg 2021-10-23 01:14:47.000000000
+0200
+++ new/python-zeroconf-0.36.12/setup.cfg 2021-11-05 06:11:04.000000000
+0100
@@ -1,5 +1,5 @@
[bumpversion]
-current_version = 0.36.9
+current_version = 0.36.12
commit = True
tag = True
tag_name = {new_version}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-zeroconf-0.36.9/tests/__init__.py
new/python-zeroconf-0.36.12/tests/__init__.py
--- old/python-zeroconf-0.36.9/tests/__init__.py 2021-10-23
01:14:47.000000000 +0200
+++ new/python-zeroconf-0.36.12/tests/__init__.py 2021-11-05
06:11:04.000000000 +0100
@@ -59,6 +59,7 @@
if not socket.has_ipv6:
return False
+ sock = None
try:
sock = socket.socket(socket.AF_INET6)
sock.bind(('::1', 0))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-zeroconf-0.36.9/tests/services/test_browser.py
new/python-zeroconf-0.36.12/tests/services/test_browser.py
--- old/python-zeroconf-0.36.9/tests/services/test_browser.py 2021-10-23
01:14:47.000000000 +0200
+++ new/python-zeroconf-0.36.12/tests/services/test_browser.py 2021-11-05
06:11:04.000000000 +0100
@@ -442,7 +442,7 @@
old_send = zeroconf_browser.async_send
time_offset = 0.0
- start_time = time.time() * 1000
+ start_time = time.monotonic() * 1000
initial_query_interval = _services_browser._BROWSER_TIME / 1000
def current_time_millis():
@@ -989,32 +989,32 @@
assert set(query_scheduler.process_ready_types(now)) == types_
assert set(query_scheduler.process_ready_types(now)) == set()
- assert query_scheduler.millis_to_wait(now) == delay
+ assert query_scheduler.millis_to_wait(now) == pytest.approx(delay, 0.00001)
assert set(query_scheduler.process_ready_types(now + delay)) == types_
assert set(query_scheduler.process_ready_types(now + delay)) == set()
- assert query_scheduler.millis_to_wait(now) == delay * 3
+ assert query_scheduler.millis_to_wait(now) == pytest.approx(delay * 3,
0.00001)
assert set(query_scheduler.process_ready_types(now + delay * 3)) == types_
assert set(query_scheduler.process_ready_types(now + delay * 3)) == set()
- assert query_scheduler.millis_to_wait(now) == delay * 7
+ assert query_scheduler.millis_to_wait(now) == pytest.approx(delay * 7,
0.00001)
assert set(query_scheduler.process_ready_types(now + delay * 7)) == types_
assert set(query_scheduler.process_ready_types(now + delay * 7)) == set()
- assert query_scheduler.millis_to_wait(now) == delay * 15
+ assert query_scheduler.millis_to_wait(now) == pytest.approx(delay * 15,
0.00001)
assert set(query_scheduler.process_ready_types(now + delay * 15)) == types_
assert set(query_scheduler.process_ready_types(now + delay * 15)) == set()
# Test if we reschedule 1 second later, the millis_to_wait goes up by 1
query_scheduler.reschedule_type("_hap._tcp.local.", now + delay * 16)
- assert query_scheduler.millis_to_wait(now) == delay * 16
+ assert query_scheduler.millis_to_wait(now) == pytest.approx(delay * 16,
0.00001)
assert set(query_scheduler.process_ready_types(now + delay * 15)) == set()
# Test if we reschedule 1 second later... and its ready for processing
assert set(query_scheduler.process_ready_types(now + delay * 16)) ==
set(["_hap._tcp.local."])
- assert query_scheduler.millis_to_wait(now) == delay * 31
+ assert query_scheduler.millis_to_wait(now) == pytest.approx(delay * 31,
0.00001)
assert set(query_scheduler.process_ready_types(now + delay * 20)) == set()
assert set(query_scheduler.process_ready_types(now + delay * 31)) ==
set(["_http._tcp.local."])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-zeroconf-0.36.9/tests/test_asyncio.py
new/python-zeroconf-0.36.12/tests/test_asyncio.py
--- old/python-zeroconf-0.36.9/tests/test_asyncio.py 2021-10-23
01:14:47.000000000 +0200
+++ new/python-zeroconf-0.36.12/tests/test_asyncio.py 2021-11-05
06:11:04.000000000 +0100
@@ -850,7 +850,7 @@
def _new_current_time_millis():
"""Current system time in milliseconds"""
- return (time.time() * 1000) + (time_offset * 1000)
+ return (time.monotonic() * 1000) + (time_offset * 1000)
expected_ttl = const._DNS_HOST_TTL
nbr_answers = 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-zeroconf-0.36.9/tests/utils/test_net.py
new/python-zeroconf-0.36.12/tests/utils/test_net.py
--- old/python-zeroconf-0.36.9/tests/utils/test_net.py 2021-10-23
01:14:47.000000000 +0200
+++ new/python-zeroconf-0.36.12/tests/utils/test_net.py 2021-11-05
06:11:04.000000000 +0100
@@ -39,6 +39,7 @@
"""Test we can extract from mocked adapters."""
adapters = _generate_mock_adapters()
assert netutils.ip6_to_address_and_index(adapters, "2001:db8::") ==
(('2001:db8::', 1, 1), 1)
+ assert netutils.ip6_to_address_and_index(adapters, "2001:db8::%1") ==
(('2001:db8::', 1, 1), 1)
with pytest.raises(RuntimeError):
assert netutils.ip6_to_address_and_index(adapters, "2005:db8::")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-zeroconf-0.36.9/zeroconf/__init__.py
new/python-zeroconf-0.36.12/zeroconf/__init__.py
--- old/python-zeroconf-0.36.9/zeroconf/__init__.py 2021-10-23
01:14:47.000000000 +0200
+++ new/python-zeroconf-0.36.12/zeroconf/__init__.py 2021-11-05
06:11:04.000000000 +0100
@@ -79,7 +79,7 @@
__author__ = 'Paul Scott-Murphy, William McBrine'
__maintainer__ = 'Jakub Stasiak <[email protected]>'
-__version__ = '0.36.9'
+__version__ = '0.36.12'
__license__ = 'LGPL'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/python-zeroconf-0.36.9/zeroconf/_protocol/incoming.py
new/python-zeroconf-0.36.12/zeroconf/_protocol/incoming.py
--- old/python-zeroconf-0.36.9/zeroconf/_protocol/incoming.py 2021-10-23
01:14:47.000000000 +0200
+++ new/python-zeroconf-0.36.12/zeroconf/_protocol/incoming.py 2021-11-05
06:11:04.000000000 +0100
@@ -287,7 +287,7 @@
if length < 0x40:
label_idx = off + DNS_COMPRESSION_HEADER_LEN
- labels.append(str(self.data[label_idx : label_idx + length],
'utf-8', 'replace'))
+ labels.append(self.data[label_idx : label_idx +
length].decode('utf-8', 'replace'))
off += DNS_COMPRESSION_HEADER_LEN + length
continue
@@ -302,9 +302,9 @@
raise IncomingDecodeError(f"DNS compression pointer at {off}
points to itself")
if link in seen_pointers:
raise IncomingDecodeError(f"DNS compression pointer at {off}
was seen again")
- seen_pointers.add(link)
linked_labels = self.name_cache.get(link, [])
if not linked_labels:
+ seen_pointers.add(link)
self._decode_labels_at_offset(link, linked_labels,
seen_pointers)
self.name_cache[link] = linked_labels
labels.extend(linked_labels)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-zeroconf-0.36.9/zeroconf/_utils/net.py
new/python-zeroconf-0.36.12/zeroconf/_utils/net.py
--- old/python-zeroconf-0.36.9/zeroconf/_utils/net.py 2021-10-23
01:14:47.000000000 +0200
+++ new/python-zeroconf-0.36.12/zeroconf/_utils/net.py 2021-11-05
06:11:04.000000000 +0100
@@ -83,6 +83,8 @@
def ip6_to_address_and_index(adapters: List[Any], ip: str) -> Tuple[Tuple[str,
int, int], int]:
+ if '%' in ip:
+ ip = ip[: ip.index('%')] # Strip scope_id.
ipaddr = ipaddress.ip_address(ip)
for adapter in adapters:
for adapter_ip in adapter.ips:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/python-zeroconf-0.36.9/zeroconf/_utils/time.py
new/python-zeroconf-0.36.12/zeroconf/_utils/time.py
--- old/python-zeroconf-0.36.9/zeroconf/_utils/time.py 2021-10-23
01:14:47.000000000 +0200
+++ new/python-zeroconf-0.36.12/zeroconf/_utils/time.py 2021-11-05
06:11:04.000000000 +0100
@@ -26,7 +26,7 @@
def current_time_millis() -> float:
"""Current system time in milliseconds"""
- return time.time() * 1000
+ return time.monotonic() * 1000
def millis_to_seconds(millis: float) -> float:
++++++ python-zeroconf.obsinfo ++++++
--- /var/tmp/diff_new_pack.XhfIgr/_old 2021-11-07 00:19:30.928553143 +0100
+++ /var/tmp/diff_new_pack.XhfIgr/_new 2021-11-07 00:19:30.932553143 +0100
@@ -1,5 +1,5 @@
name: python-zeroconf
-version: 0.36.9
-mtime: 1634944487
-commit: d92d3d030558c1b81b2e35f701b585f4b48fa99a
+version: 0.36.12
+mtime: 1636089064
+commit: 8b0dc48ed42d8edc78750122eb5685a50c3cdc11