forked from pool/python-zeroconf
Accepting request 912684 from devel:languages:python
OBS-URL: https://build.opensuse.org/request/show/912684 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-zeroconf?expand=0&rev=22
This commit is contained in:
4
_service
4
_service
@@ -2,8 +2,8 @@
|
|||||||
<service name="obs_scm" mode="disabled">
|
<service name="obs_scm" mode="disabled">
|
||||||
<param name="url">https://github.com/jstasiak/python-zeroconf</param>
|
<param name="url">https://github.com/jstasiak/python-zeroconf</param>
|
||||||
<param name="scm">git</param>
|
<param name="scm">git</param>
|
||||||
<param name="revision">87ba2a3960576cfcf4207ea74a711b2c0cc584a7</param>
|
<param name="revision">4281221b668123b770c6d6b0835dd876d1d2f22d</param>
|
||||||
<param name="version">0.31.0</param>
|
<param name="version">0.35.1</param>
|
||||||
</service>
|
</service>
|
||||||
<service name="set_version" mode="disabled"/>
|
<service name="set_version" mode="disabled"/>
|
||||||
|
|
||||||
|
|||||||
@@ -1,20 +0,0 @@
|
|||||||
Index: python-zeroconf-0.31.0/zeroconf/test.py
|
|
||||||
===================================================================
|
|
||||||
--- python-zeroconf-0.31.0.orig/zeroconf/test.py
|
|
||||||
+++ python-zeroconf-0.31.0/zeroconf/test.py
|
|
||||||
@@ -570,6 +570,7 @@ class Framework(unittest.TestCase):
|
|
||||||
rv = r.Zeroconf(interfaces=r.InterfaceChoice.Default, unicast=True)
|
|
||||||
rv.close()
|
|
||||||
|
|
||||||
+ @unittest.skip('Fails in obs')
|
|
||||||
def test_close_multiple_times(self):
|
|
||||||
rv = r.Zeroconf(interfaces=r.InterfaceChoice.Default)
|
|
||||||
rv.close()
|
|
||||||
@@ -1886,6 +1887,7 @@ class TestServiceInfo(unittest.TestCase)
|
|
||||||
zc.close()
|
|
||||||
|
|
||||||
|
|
||||||
+@unittest.skip('Fails in obs')
|
|
||||||
class TestServiceBrowserMultipleTypes(unittest.TestCase):
|
|
||||||
def test_update_record(self):
|
|
||||||
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:a7128b83f8f02fbecaca408d34c01a3ad55444ea7bbae3c02f0d4d87bec5f3ad
|
|
||||||
size 54676
|
|
||||||
3
python-zeroconf-0.35.1.tar.xz
Normal file
3
python-zeroconf-0.35.1.tar.xz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:e9ba325464d40404d39b56db1853b96b3cfc98b06ce788119b14a7b9564d96b8
|
||||||
|
size 98000
|
||||||
@@ -1,3 +1,373 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Aug 16 01:39:16 UTC 2021 - Fusion Future <qydwhotmail@gmail.com>
|
||||||
|
|
||||||
|
- Update to 0.35.1:
|
||||||
|
* Only reschedule types if the send next time changes (#958)
|
||||||
|
@bdraco
|
||||||
|
* When the PTR response was seen again, the timer was being
|
||||||
|
canceled and rescheduled even if the timer was for the same
|
||||||
|
time. While this did not cause any breakage, it is quite
|
||||||
|
inefficient.
|
||||||
|
* Cache DNS record and question hashes (#960) @bdraco
|
||||||
|
* The hash was being recalculated every time the object was
|
||||||
|
being used in a set or dict. Since the hashes are effectively
|
||||||
|
immutable, we only calculate them once now.
|
||||||
|
- Changes from 0.35.0:
|
||||||
|
* Reduced chance of accidental synchronization of ServiceInfo
|
||||||
|
requests (#955) @bdraco
|
||||||
|
* Sort aggregated responses to increase chance of name compression
|
||||||
|
(#954) @bdraco
|
||||||
|
Technically backwards incompatible:
|
||||||
|
* Send unicast replies on the same socket the query was received
|
||||||
|
(#952) @bdraco
|
||||||
|
* When replying to a QU question, we do not know if the sending
|
||||||
|
host is reachable from all of the sending sockets. We now
|
||||||
|
avoid this problem by replying via the receiving socket. This
|
||||||
|
was the existing behavior when InterfaceChoice.Default is set.
|
||||||
|
* This change extends the unicast relay behavior to used with
|
||||||
|
InterfaceChoice.Default to apply when InterfaceChoice.All
|
||||||
|
or interfaces are explicitly passed when instantiating a
|
||||||
|
Zeroconf instance.
|
||||||
|
* Fixes #951
|
||||||
|
- Changes from 0.34.3:
|
||||||
|
* Fix sending immediate multicast responses (#949) @bdraco
|
||||||
|
- Changes from 0.34.2:
|
||||||
|
* Coalesce aggregated multicast answers (#945) @bdraco
|
||||||
|
* When the random delay is shorter than the last scheduled
|
||||||
|
response, answers are now added to the same outgoing time group.
|
||||||
|
* This reduces traffic when we already know we will be sending
|
||||||
|
a group of answers inside the random delay window described
|
||||||
|
in datatracker.ietf.org/doc/html/rfc6762#section-6.3
|
||||||
|
* Ensure ServiceInfo requests can be answered inside the default
|
||||||
|
timeout with network protection (#946) @bdraco
|
||||||
|
* Adjust the time windows to ensure responses that have triggered
|
||||||
|
the protection against against excessive packet flooding due to
|
||||||
|
software bugs or malicious attack described in RFC6762 section
|
||||||
|
6 can respond in under 1350ms to ensure ServiceInfo can ask
|
||||||
|
two questions within the default timeout of 3000ms
|
||||||
|
- Changes from 0.34.1:
|
||||||
|
* Ensure multicast aggregation sends responses within 620ms
|
||||||
|
(#942) @bdraco
|
||||||
|
* Responses that trigger the protection against against
|
||||||
|
excessive packet flooding due to software bugs or malicious
|
||||||
|
attack described in RFC6762 section 6 could cause the multicast
|
||||||
|
aggregation response to be delayed longer than 620ms (The maximum
|
||||||
|
random delay of 120ms and 500ms additional for aggregation).
|
||||||
|
* Only responses that trigger the protection are delayed longer
|
||||||
|
than 620ms
|
||||||
|
- Changes from 0.34.0:
|
||||||
|
* Implemented Multicast Response Aggregation (#940) @bdraco
|
||||||
|
* Responses are now aggregated when possible per rules in RFC6762
|
||||||
|
section 6.4
|
||||||
|
* Responses that trigger the protection against against
|
||||||
|
excessive packet flooding due to software bugs or malicious
|
||||||
|
attack described in RFC6762 section 6 are delayed instead of
|
||||||
|
discarding as it was causing responders that implement Passive
|
||||||
|
Observation Of Failures (POOF) to evict the records.
|
||||||
|
* Probe responses are now always sent immediately as there were
|
||||||
|
cases where they would fail to be answered in time to defend
|
||||||
|
a name.
|
||||||
|
- Changes from 0.33.4:
|
||||||
|
* Ensure zeroconf can be loaded when the system disables IPv6
|
||||||
|
(#933) @che0
|
||||||
|
- Changes from 0.33.3:
|
||||||
|
* Added support for forward dns compression pointers (#934) @bdraco
|
||||||
|
* Provide sockname when logging a protocol error (#935) @bdraco
|
||||||
|
- Changes from 0.33.2:
|
||||||
|
* Handle duplicate goodbye answers in the same packet (#928)
|
||||||
|
@bdraco
|
||||||
|
* Solves an exception being thrown when we tried to remove the
|
||||||
|
known answer from the cache when the second goodbye answer in
|
||||||
|
the same packet was processed
|
||||||
|
* Fixed #926
|
||||||
|
* Skip ipv6 interfaces that return ENODEV (#930) @bdraco
|
||||||
|
- Changes from 0.33.1:
|
||||||
|
* Version number change only with less restrictive directory
|
||||||
|
permissions
|
||||||
|
* Fixed #923
|
||||||
|
- Changes from 0.33.0:
|
||||||
|
This release eliminates all threading locks as all non-threadsafe
|
||||||
|
operations now happen in the event loop.
|
||||||
|
* Let connection_lost close the underlying socket (#918) @bdraco
|
||||||
|
* The socket was closed during shutdown before asyncio's
|
||||||
|
connection_lost handler had a chance to close it which resulted
|
||||||
|
in a traceback on windows.
|
||||||
|
* Fixed #917
|
||||||
|
Technically backwards incompatible:
|
||||||
|
* Removed duplicate unregister_all_services code (#910) @bdraco
|
||||||
|
* Calling Zeroconf.close from same asyncio event loop zeroconf
|
||||||
|
is running in will now skip unregister_all_services and log
|
||||||
|
a warning as this a blocking operation and is not async safe
|
||||||
|
and never has been.
|
||||||
|
* Use AsyncZeroconf instead, or for legacy code call
|
||||||
|
async_unregister_all_services before Zeroconf.close
|
||||||
|
- Changes from 0.32.1:
|
||||||
|
* Increased timeout in ServiceInfo.request to handle loaded systems
|
||||||
|
(#895) @bdraco
|
||||||
|
* It can take a few seconds for a loaded system to run the
|
||||||
|
async_request coroutine when the event loop is busy, or the
|
||||||
|
system is CPU bound (example being Home Assistant startup). We
|
||||||
|
now add an additional _LOADED_SYSTEM_TIMEOUT (10s) to the
|
||||||
|
run_coroutine_threadsafe calls to ensure the coroutine has
|
||||||
|
the total amount of time to run up to its internal timeout
|
||||||
|
(default of 3000ms).
|
||||||
|
* Ten seconds is a bit large of a timeout; however, it is only
|
||||||
|
used in cases where we wrap other timeouts. We now expect the
|
||||||
|
only instance the run_coroutine_threadsafe result timeout will
|
||||||
|
happen in a production circumstance is when someone is running
|
||||||
|
a ServiceInfo.request() in a thread and another thread calls
|
||||||
|
Zeroconf.close() at just the right moment that the future
|
||||||
|
is never completed unless the system is so loaded that it is
|
||||||
|
nearly unresponsive.
|
||||||
|
* The timeout for run_coroutine_threadsafe is the maximum time
|
||||||
|
a thread can cleanly shut down when zeroconf is closed out in
|
||||||
|
another thread, which should always be longer than the underlying
|
||||||
|
thread operation.
|
||||||
|
- Changes from 0.32.0:
|
||||||
|
This release offers 100% line and branch coverage.
|
||||||
|
* Made ServiceInfo first question QU (#852) @bdraco
|
||||||
|
* We want an immediate response when requesting with ServiceInfo
|
||||||
|
by asking a QU question; most responders will not delay the
|
||||||
|
response and respond right away to our question. This also
|
||||||
|
improves compatibility with split networks as we may not have
|
||||||
|
been able to see the response otherwise. If the responder has
|
||||||
|
not multicast the record recently, it may still choose to do
|
||||||
|
so in addition to responding via unicast
|
||||||
|
* Reduces traffic when there are multiple zeroconf instances
|
||||||
|
running on the network running ServiceBrowsers
|
||||||
|
* If we don't get an answer on the first try, we ask a QM question
|
||||||
|
in the event, we can't receive a unicast response for some reason
|
||||||
|
* This change puts ServiceInfo inline with ServiceBrowser which
|
||||||
|
also asks the first question as QU since ServiceInfo is commonly
|
||||||
|
called from ServiceBrowser callbacks
|
||||||
|
* Limited duplicate packet suppression to 1s intervals (#841)
|
||||||
|
@bdraco
|
||||||
|
* Only suppress duplicate packets that happen within the same
|
||||||
|
second. Legitimate queriers will retry the question if they
|
||||||
|
are suppressed. The limit was reduced to one second to be in
|
||||||
|
line with rfc6762
|
||||||
|
* Made multipacket known answer suppression per interface (#836)
|
||||||
|
@bdraco
|
||||||
|
* The suppression was happening per instance of Zeroconf instead
|
||||||
|
of per interface. Since the same network can be seen on multiple
|
||||||
|
interfaces (usually and wifi and ethernet), this would confuse
|
||||||
|
the multi-packet known answer supression since it was not
|
||||||
|
expecting to get the same data more than once
|
||||||
|
* New ServiceBrowsers now request QU in the first outgoing when
|
||||||
|
unspecified (#812) @bdraco
|
||||||
|
* https://datatracker.ietf.org/doc/html/rfc6762#section-5.4 When
|
||||||
|
we start a ServiceBrowser and zeroconf has just started up,
|
||||||
|
the known answer list will be small. By asking a QU question
|
||||||
|
first, it is likely that we have a large known answer list
|
||||||
|
by the time we ask the QM question a second later (current
|
||||||
|
default which is likely too low but would be a breaking change
|
||||||
|
to increase). This reduces the amount of traffic on the network,
|
||||||
|
and has the secondary advantage that most responders will answer
|
||||||
|
a QU question without the typical delay answering QM questions.
|
||||||
|
* IPv6 link-local addresses are now qualified with scope_id
|
||||||
|
(#343) @ibygrave
|
||||||
|
* When a service is advertised on an IPv6 address where the scope
|
||||||
|
is link local, i.e. fe80::/64 (see RFC 4007) the resolved IPv6
|
||||||
|
address must be extended with the scope_id that identifies
|
||||||
|
through the "%" symbol the local interface to be used when
|
||||||
|
routing to that address. A new API parsed_scoped_addresses()
|
||||||
|
is provided to return qualified addresses to avoid breaking
|
||||||
|
compatibility on the existing parsed_addresses().
|
||||||
|
* Network adapters that are disconnected are now skipped (#327)
|
||||||
|
@ZLJasonG
|
||||||
|
* Fixed listeners missing initial packets if Engine starts too
|
||||||
|
quickly (#387) @bdraco
|
||||||
|
* When manually creating a zeroconf.Engine object, it is no longer
|
||||||
|
started automatically. It must manually be started by calling
|
||||||
|
.start() on the created object.
|
||||||
|
* The Engine thread is now started after all the listeners have
|
||||||
|
been added to avoid a race condition where packets could be
|
||||||
|
missed at startup.
|
||||||
|
* Fixed answering matching PTR queries with the ANY query (#618)
|
||||||
|
@bdraco
|
||||||
|
* Fixed lookup of uppercase names in the registry (#597) @bdraco
|
||||||
|
* If the ServiceInfo was registered with an uppercase name and
|
||||||
|
the query was for a lowercase name, it would not be found
|
||||||
|
and vice-versa.
|
||||||
|
* Fixed unicast responses from any source port (#598) @bdraco
|
||||||
|
* Unicast responses were only being sent if the source port was
|
||||||
|
53, this prevented responses when testing with dig:
|
||||||
|
dig -p 5353 @224.0.0.251 media-12.local
|
||||||
|
The above query will now see a response
|
||||||
|
* Fixed queries for AAAA records not being answered (#616) @bdraco
|
||||||
|
* Removed second level caching from ServiceBrowsers (#737) @bdraco
|
||||||
|
* The ServiceBrowser had its own cache of the last time it saw
|
||||||
|
a service that was reimplementing the DNSCache and presenting
|
||||||
|
a source of truth problem that lead to unexpected queries when
|
||||||
|
the two disagreed.
|
||||||
|
* Fixed server cache not being case-insensitive (#731) @bdraco
|
||||||
|
* If the server name had uppercase chars and any of the matching
|
||||||
|
records were lowercase, and the server would not be found
|
||||||
|
* Fixed cache handling of records with different TTLs (#729)
|
||||||
|
@bdraco
|
||||||
|
* There should only be one unique record in the cache at a time as
|
||||||
|
having multiple unique records will different TTLs in the cache
|
||||||
|
can result in unexpected behavior since some functions returned
|
||||||
|
all matching records and some fetched from the right side of
|
||||||
|
the list to return the newest record. Instead we now store
|
||||||
|
the records in a dict to ensure that the newest record always
|
||||||
|
replaces the same unique record, and we never have a source of
|
||||||
|
truth problem determining the TTL of a record from the cache.
|
||||||
|
* Fixed ServiceInfo with multiple A records (#725) @bdraco
|
||||||
|
* If there were multiple A records for the host, ServiceInfo would
|
||||||
|
always return the last one that was in the incoming packet,
|
||||||
|
which was usually not the one that was wanted.
|
||||||
|
* Fixed stale unique records expiring too quickly (#706) @bdraco
|
||||||
|
* Records now expire 1s in the future instead of instant removal.
|
||||||
|
tools.ietf.org/html/rfc6762#section-10.2 Queriers receiving a
|
||||||
|
Multicast DNS response with a TTL of zero SHOULD NOT immediately
|
||||||
|
delete the record from the cache, but instead record a TTL of
|
||||||
|
1 and then delete the record one second later. In the case of
|
||||||
|
multiple Multicast DNS responders on the network described in
|
||||||
|
Section 6.6 above, if one of the responders shuts down and
|
||||||
|
incorrectly sends goodbye packets for its records, it gives
|
||||||
|
the other cooperating responders one second to send out their
|
||||||
|
own response to "rescue" the records before they expire and
|
||||||
|
are deleted.
|
||||||
|
* Fixed exception when unregistering a service multiple times
|
||||||
|
(#679) @bdraco
|
||||||
|
* Added an AsyncZeroconfServiceTypes to mirror ZeroconfServiceTypes
|
||||||
|
to zeroconf.asyncio (#658) @bdraco
|
||||||
|
* Fixed interface_index_to_ip6_address not skiping ipv4 adapters
|
||||||
|
(#651) @bdraco
|
||||||
|
* Added async_unregister_all_services to AsyncZeroconf (#649)
|
||||||
|
@bdraco
|
||||||
|
* Fixed services not being removed from the registry when calling
|
||||||
|
unregister_all_services (#644) @bdraco
|
||||||
|
* There was a race condition where a query could be answered for
|
||||||
|
a service in the registry, while goodbye packets which could
|
||||||
|
result in a fresh record being broadcast after the goodbye if
|
||||||
|
a query came in at just the right time. To avoid this, we now
|
||||||
|
remove the services from the registry right after we generate
|
||||||
|
the goodbye packet
|
||||||
|
* Fixed zeroconf exception on load when the system disables IPv6
|
||||||
|
(#624) @bdraco
|
||||||
|
* Fixed the QU bit missing from for probe queries (#609) @bdraco
|
||||||
|
* The bit should be set per
|
||||||
|
datatracker.ietf.org/doc/html/rfc6762#section-8.1
|
||||||
|
* Fixed the TC bit missing for query packets where the known
|
||||||
|
answers span multiple packets (#494) @bdraco
|
||||||
|
* Fixed packets not being properly separated when exceeding
|
||||||
|
maximum size (#498) @bdraco
|
||||||
|
* Ensure that questions that exceed the max packet size
|
||||||
|
are moved to the next packet. This fixes DNSQuestions
|
||||||
|
being sent in multiple packets in violation of:
|
||||||
|
datatracker.ietf.org/doc/html/rfc6762#section-7.2
|
||||||
|
* Ensure only one resource record is sent when a record exceeds
|
||||||
|
_MAX_MSG_TYPICAL datatracker.ietf.org/doc/html/rfc6762#section-17
|
||||||
|
* Fixed PTR questions asked in uppercase not being answered
|
||||||
|
(#465) @bdraco
|
||||||
|
* Added Support for context managers in Zeroconf and AsyncZeroconf
|
||||||
|
(#284) @shenek
|
||||||
|
* Implemented an AsyncServiceBrowser to compliment the sync
|
||||||
|
ServiceBrowser (#429) @bdraco
|
||||||
|
* Added async_get_service_info to AsyncZeroconf and async_request
|
||||||
|
to AsyncServiceInfo (#408) @bdraco
|
||||||
|
* Implemented allowing passing in a sync Zeroconf instance to
|
||||||
|
AsyncZeroconf (#406) @bdraco
|
||||||
|
* Fixed IPv6 setup under MacOS when binding to "" (#392) @bdraco
|
||||||
|
* Fixed ZeroconfServiceTypes.find not always cancels the
|
||||||
|
ServiceBrowser (#389) @bdraco
|
||||||
|
* There was a short window where the ServiceBrowser thread could
|
||||||
|
be left running after Zeroconf is closed because the .join()
|
||||||
|
was never waited for when a new Zeroconf object was created
|
||||||
|
* Fixed duplicate packets triggering duplicate updates (#376)
|
||||||
|
@bdraco
|
||||||
|
* If TXT or SRV records update was already processed and then
|
||||||
|
received again, it was possible for a second update to be called
|
||||||
|
back in the ServiceBrowser
|
||||||
|
* Fixed ServiceStateChange.Updated event happening for IPs that
|
||||||
|
already existed (#375) @bdraco
|
||||||
|
* Fixed RFC6762 Section 10.2 paragraph 2 compliance (#374) @bdraco
|
||||||
|
* Reduced length of ServiceBrowser thread name with many types
|
||||||
|
(#373) @bdraco
|
||||||
|
* Fixed empty answers being added in ServiceInfo.request (#367)
|
||||||
|
@bdraco
|
||||||
|
* Fixed ServiceInfo not populating all AAAA records (#366) @bdraco
|
||||||
|
* Use get_all_by_details to ensure all records are loaded into
|
||||||
|
addresses.
|
||||||
|
* Only load A/AAAA records from the cache once in load_from_cache
|
||||||
|
if there is a SRV record present
|
||||||
|
* Move duplicate code that checked if the ServiceInfo was complete
|
||||||
|
into its own function
|
||||||
|
* Fixed a case where the cache list can change during iteration
|
||||||
|
(#363) @bdraco
|
||||||
|
* Return task objects created by AsyncZeroconf (#360) @nocarryr
|
||||||
|
Traffic Reduction:
|
||||||
|
* Added support for handling QU questions (#621) @bdraco
|
||||||
|
* Implements RFC 6762 sec 5.4: Questions Requesting Unicast
|
||||||
|
Responses datatracker.ietf.org/doc/html/rfc6762#section-5.4
|
||||||
|
* Implemented protect the network against excessive packet
|
||||||
|
flooding (#619) @bdraco
|
||||||
|
* Additionals are now suppressed when they are already in the
|
||||||
|
answers section (#617) @bdraco
|
||||||
|
* Additionals are no longer included when the answer is
|
||||||
|
suppressed by known-answer suppression (#614) @bdraco
|
||||||
|
* Implemented multi-packet known answer supression (#687) @bdraco
|
||||||
|
* Implements datatracker.ietf.org/doc/html/rfc6762#section-7.2
|
||||||
|
* Implemented efficient bucketing of queries with known answers
|
||||||
|
(#698) @bdraco
|
||||||
|
* Implemented duplicate question suppression (#770) @bdraco
|
||||||
|
http://datatracker.ietf.org/doc/html/rfc6762#section-7.3
|
||||||
|
Technically backwards incompatible:
|
||||||
|
* Update internal version check to match docs (3.6+) (#491)
|
||||||
|
@bdraco
|
||||||
|
* Python version earlier then 3.6 were likely broken with
|
||||||
|
zeroconf already, however, the version is now explicitly
|
||||||
|
checked.
|
||||||
|
* Update python compatibility as PyPy3 7.2 is required (#523)
|
||||||
|
@bdraco
|
||||||
|
Backwards incompatible:
|
||||||
|
* Drop oversize packets before processing them (#826) @bdraco
|
||||||
|
* Oversized packets can quickly overwhelm the system and deny
|
||||||
|
service to legitimate queriers. In practice, this is usually
|
||||||
|
due to broken mDNS implementations rather than malicious
|
||||||
|
actors.
|
||||||
|
* Guard against excessive ServiceBrowser queries from PTR
|
||||||
|
records significantly lowerthan recommended (#824) @bdraco
|
||||||
|
* We now enforce a minimum TTL for PTR records to avoid
|
||||||
|
ServiceBrowsers generating excessive queries refresh
|
||||||
|
queries. Apple uses a 15s minimum TTL, however, we do not
|
||||||
|
have the same level of rate limit and safeguards, so we use
|
||||||
|
1/4 of the recommended value.
|
||||||
|
* RecordUpdateListener now uses async_update_records instead
|
||||||
|
of update_record (#419, #726) @bdraco
|
||||||
|
This allows the listener to receive all the records that
|
||||||
|
have been updated in a single transaction such as a packet
|
||||||
|
or cache expiry.
|
||||||
|
* update_record has been deprecated in favor of
|
||||||
|
async_update_records A compatibility shim exists to ensure
|
||||||
|
classes that use RecordUpdateListener as a base class continue
|
||||||
|
to have update_record called, however, they should be updated
|
||||||
|
as soon as possible.
|
||||||
|
* A new method async_update_records_complete is now called on
|
||||||
|
each listener when all listeners have completed processing
|
||||||
|
updates and the cache has been updated. This allows
|
||||||
|
ServiceBrowsers to delay calling handlers until they are sure
|
||||||
|
the cache has been updated as its a common pattern to call
|
||||||
|
for ServiceInfo when a ServiceBrowser handler fires.
|
||||||
|
* The async_ prefix was chosen to make it clear that these
|
||||||
|
functions run in the eventloop and should never do blocking
|
||||||
|
I/O. Before 0.32+ these functions ran in a select() loop and
|
||||||
|
should not have been doing any blocking I/O, but it was not
|
||||||
|
clear to implementors that I/O would block the loop.
|
||||||
|
* Pass both the new and old records to async_update_records
|
||||||
|
(#792) @bdraco
|
||||||
|
* Pass the old_record (cached) as the value and the new_record
|
||||||
|
(wire) to async_update_records instead of forcing each consumer
|
||||||
|
to check the cache since we will always have the old_record
|
||||||
|
when generating the async_update_records call. This avoids
|
||||||
|
the overhead of multiple cache lookups for each listener.
|
||||||
|
- Remove fix version command as upstream has fixed the version number.
|
||||||
|
- Move skipped tests to spec file, drop disable-tests.patch.
|
||||||
|
- Relocate tests to tests directory. (gh#jstasiak/python-zeroconf#526)
|
||||||
|
- Add test_close_multiple_times to skipped test list.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Fri Jun 4 17:16:48 UTC 2021 - Antonio Larrosa <alarrosa@suse.com>
|
Fri Jun 4 17:16:48 UTC 2021 - Antonio Larrosa <alarrosa@suse.com>
|
||||||
|
|
||||||
|
|||||||
@@ -19,14 +19,13 @@
|
|||||||
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
|
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
|
||||||
%define skip_python2 1
|
%define skip_python2 1
|
||||||
Name: python-zeroconf
|
Name: python-zeroconf
|
||||||
Version: 0.31.0
|
Version: 0.35.1
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: Pure Python Multicast DNS Service Discovery Library (Bonjour/Avahi compatible)
|
Summary: Pure Python Multicast DNS Service Discovery Library (Bonjour/Avahi compatible)
|
||||||
License: LGPL-2.0-only
|
License: LGPL-2.0-only
|
||||||
Group: Development/Languages/Python
|
Group: Development/Languages/Python
|
||||||
URL: https://github.com/jstasiak/python-zeroconf
|
URL: https://github.com/jstasiak/python-zeroconf
|
||||||
Source: %{name}-%{version}.tar.xz
|
Source: %{name}-%{version}.tar.xz
|
||||||
Patch0: disable-tests.patch
|
|
||||||
BuildRequires: %{python_module ifaddr >= 0.1.7}
|
BuildRequires: %{python_module ifaddr >= 0.1.7}
|
||||||
BuildRequires: %{python_module pytest-asyncio}
|
BuildRequires: %{python_module pytest-asyncio}
|
||||||
BuildRequires: %{python_module pytest}
|
BuildRequires: %{python_module pytest}
|
||||||
@@ -46,7 +45,6 @@ does not force you to use a particular event loop or python-twisted.
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%autosetup -p1
|
%autosetup -p1
|
||||||
sed -i -e "s/__version__ = '0.29.0'/__version__ = '%{version}'/" zeroconf/__init__.py
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%python_build
|
%python_build
|
||||||
@@ -57,7 +55,7 @@ sed -i -e "s/__version__ = '0.29.0'/__version__ = '%{version}'/" zeroconf/__init
|
|||||||
%python_expand %fdupes %{buildroot}%{$python_sitelib}
|
%python_expand %fdupes %{buildroot}%{$python_sitelib}
|
||||||
|
|
||||||
%check
|
%check
|
||||||
%pytest zeroconf/test.py -k 'not (test_integration_with_listener_ipv6 or test_launch)'
|
%pytest tests -k 'not (test_integration_with_listener_ipv6 or test_launch or test_close_multiple_times)'
|
||||||
|
|
||||||
%files %{python_files}
|
%files %{python_files}
|
||||||
%doc README.rst
|
%doc README.rst
|
||||||
|
|||||||
Reference in New Issue
Block a user