Skip to content

update zeroconf to 0.36.7#1

Open
sunnyanthony wants to merge 608 commits intomasterfrom
update_zeroconf_0.36.7
Open

update zeroconf to 0.36.7#1
sunnyanthony wants to merge 608 commits intomasterfrom
update_zeroconf_0.36.7

Conversation

@sunnyanthony
Copy link

No description provided.

bdraco added 30 commits June 17, 2021 10:42
…t removal (python-zeroconf#706)

- Fixes python-zeroconf#475

- https://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.
…thon-zeroconf#726)

- It was too easy to get confused about what was threadsafe and
  what was not threadsafe which lead to unexpected failures.
  Rename functions to make it clear what will be run in the event
  loop and what is expected to be threadsafe
- There is currently a bug in the implementation where an entry
  can exist in two places in the cache with different TTLs. Since
  a known answer cannot be both expired and expired at the same
  time, this is a bug that needs to be fixed.
- 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. Intead 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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants