-
Notifications
You must be signed in to change notification settings - Fork 227
Separately send large mDNS responses to comply with RFC 6762 #248
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
14 commits
Select commit
Hold shift + click to select a range
e3268d2
Send multiple packets in a DNSOutgoing response when multiple smaller…
gjbadros 6a7ae11
Fixed a type declaration, and made new log messages debug (not warnin…
gjbadros 311da47
Add back packet() for backward compatability.
gjbadros 0524706
Protect against empty packets()
gjbadros 0231086
Fixed one bug in the implementation (make sure we at least write out …
gjbadros e2b02e3
Merge branch 'master' into master
gjbadros 19e88f7
Change formatting to make flake8 happy
gjbadros e322d29
:xMerge branch 'master' of https://github.com/gjbadros/python-zeroconf
gjbadros f737898
Fix test.py to comply with flake8 warnings
gjbadros fc1ac81
Fix test.py to comply with flake8 warnings
gjbadros 08101fb
Added a new test to call log_warning_once since that wasn't used any …
gjbadros 3db6a1d
Warn about extra-large packet upon creation, too, in order to properl…
gjbadros a444619
Made changes that are responsive to Jakub's review, including a littl…
gjbadros 6d2a7a1
Merge branch 'master' into master
gjbadros File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is it at most one answer per packet or per group of packets?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added docstring -- multiple answers per packet are fine. It's just the case of having so many answers that it overflows the smaller 1470ish MTU of ethernet -- in that scenario, the application layer MUST send separate application-level responses rather than rely on IP fragmentation to break up a bigger packet. The only exception is when a single answer does not fit inside the smaller MTU in which case it's allowed to be bigger. I suspect that scenario will still crash ChromeCast Audios, but that situation is exceedingly rare, whereas many responses that exceed 1470 bytes happens within a large but not crazy set of devices.