Skip to content

Add support for forward dns compression pointers#934

Merged
bdraco merged 9 commits into
python-zeroconf:masterfrom
bdraco:forward_name_compression
Aug 5, 2021
Merged

Add support for forward dns compression pointers#934
bdraco merged 9 commits into
python-zeroconf:masterfrom
bdraco:forward_name_compression

Conversation

@bdraco
Copy link
Copy Markdown
Member

@bdraco bdraco commented Aug 4, 2021

Fixes home-assistant/core#53937
Fixes home-assistant/core#46985
Fixes home-assistant/core#53668
Fixes #308

@bdraco bdraco force-pushed the forward_name_compression branch 2 times, most recently from 7af6517 to fcdcac4 Compare August 4, 2021 20:14
@codecov-commenter
Copy link
Copy Markdown

codecov-commenter commented Aug 4, 2021

Codecov Report

Merging #934 (e579fad) into master (4d30c25) will not change coverage.
The diff coverage is 100.00%.

Impacted file tree graph

@@            Coverage Diff            @@
##            master      #934   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files           22        22           
  Lines         2315      2342   +27     
  Branches       383       387    +4     
=========================================
+ Hits          2315      2342   +27     
Impacted Files Coverage Δ
zeroconf/_protocol.py 100.00% <100.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 4d30c25...e579fad. Read the comment docs.

Comment thread tests/test_protocol.py
- nslookup supports these and some implementations (likely avahi)
  will generate them

- Careful attention was given to make sure we detect loops
  and do not create anti-patterns described in
  https://github.com/Forescout/namewreck/blob/main/rfc/draft-dashevskyi-dnsrr-antipatterns-00.txt
@bdraco bdraco force-pushed the forward_name_compression branch from fcdcac4 to 0a36cc6 Compare August 4, 2021 20:51
Comment thread zeroconf/_protocol.py Outdated
Comment thread tests/test_protocol.py
Comment thread zeroconf/_protocol.py Outdated
Comment thread tests/test_protocol.py
@bdraco
Copy link
Copy Markdown
Member Author

bdraco commented Aug 4, 2021

The most common case we see in the wild is a NSEC record with invalid compression in the next name. Since mDNS currently doesn't care what that value is, I'm guessing nobody ever checked that it works.

@hmmbob
Copy link
Copy Markdown

hmmbob commented Aug 5, 2021

Works like a charm at my system. No more errors, everything seems to function well.

@bdraco
Copy link
Copy Markdown
Member Author

bdraco commented Aug 5, 2021

I'm doing some more testing with this, and it all looks good.

Github is broken right now https://www.githubstatus.com/incidents/7p1nnvkgh96y so I'll have to wait until later today or tomorrow to finish up #935 as I'd like to improve the error logging before releasing a new version so we can track down the root cause of home-assistant/core#54033

@bdraco bdraco merged commit 5682a4c into python-zeroconf:master Aug 5, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

3 participants