-
Notifications
You must be signed in to change notification settings - Fork 919
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
EDNS0 padding support in auth #15009
base: master
Are you sure you want to change the base?
Conversation
Pull Request Test Coverage Report for Build 12667063404Details
💛 - Coveralls |
2751ed0
to
1ad46e8
Compare
1ad46e8
to
304980c
Compare
Note that the typoed number (8647) was never issued as an RFC, so we might want to pretend it was our doing, so as not to make these comments too wrong.
When constructing the response to a query with EDNS0 padding set, keep this in mind and build proper EDNS0 padding in the response packet.
63fd053
to
3bdc59d
Compare
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.
seems to work, including packet cache handling! However, this needs configurability. I think allowing it by default on TCP is fine, but for UDP users should have control in some way.
Recursor uses a |
Recursor's edns-padding-from seems like an important inspiration, because it would allow a user to (with some care) separate "traffic that is going over an encrypted channel via dnsdist" from "actual UDP packets from the Internet". The problem we're solving, I think, is that we don't want spoofed UDP queries to be able to get padded responses. |
Short description
Even though the auth<->recursor communication can probably be considered trustworthy, the auth server should nevertheless respond to queries containing the EDNS0 padding option with a similarly padded response. This PR achieves this.
(still marked as draft as I need to work on tests - I only checked the output of simpledig
queries with and without+padding=128
)Checklist
I have: