Skip to content
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

Add support for EDNS0 (RFC6891) udp payload size negotiation #1980

Closed
wants to merge 2 commits into from

Conversation

jsipprell
Copy link

Modern stub resolvers can be configured to always send EDNS(0)/RFC6891 extended requests to resolvers which, among other things, permits relaxation of the traditional 512 byte maximum UDP payload limit by sending a desired maximum size (usually 4k) and allowing the server to reduce as appropriate in the response frame.

Additionally, caching/recursive resolvers such as Unbound and BIND will prefer to use EDNS(0) when prefetching as well as honoring EDNS(0) when forwarding requests or performing recursion on behalf of a stub-resolver or other client.

This PR adds support for EDNS(0), if and only if set in the request frame; it relaxes certain Answer section limits and synchronizes Answer UDP trimming to match the requested EDNS(0) UDP maximum size.

@ryanuber
Copy link
Member

ryanuber commented Jul 5, 2016

Hey @jsipprell, sorry for the delay here. I'll review in depth here soon, but at first glance this sounds great!

@ryanuber ryanuber added type/enhancement Proposed improvement or new feature dns labels Jul 5, 2016
@slackpad slackpad added this to the 0.7.4 milestone Nov 17, 2016
@rangan337
Copy link

@jsipprell - Would it be possible to fix the merge conflicts here ?

@slackpad slackpad removed this from the Triaged milestone Apr 18, 2017
@sethvargo
Copy link
Contributor

Hey there,

This looks like a reasonable chance, but we do not feel confident without some test coverage. Could you please add some tests and rebase? Thanks! 😄

@sethvargo sethvargo added pr/needs-tests PR needs tests before being accepted waiting-reply Waiting on response from Original Poster or another individual in the thread labels May 1, 2017
@slackpad slackpad removed the dns label May 18, 2017
sethvargo added a commit that referenced this pull request Jun 8, 2017
This is a refactor of GH-1980. Originally I tried to do a straight
rebase, but the code has changed too much.
@sethvargo sethvargo mentioned this pull request Jun 8, 2017
sethvargo added a commit that referenced this pull request Jun 9, 2017
This is a refactor of GH-1980. Originally I tried to do a straight
rebase, but the code has changed too much.
sethvargo added a commit that referenced this pull request Jun 13, 2017
This is a refactor of GH-1980. Originally I tried to do a straight
rebase, but the code has changed too much.
slackpad pushed a commit that referenced this pull request Jun 14, 2017
This is a refactor of GH-1980. Originally I tried to do a straight
rebase, but the code has changed too much.
@slackpad
Copy link
Contributor

slackpad commented Jul 5, 2017

This ended up going in via #3131, closing this one out.

@slackpad slackpad closed this Jul 5, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
pr/needs-tests PR needs tests before being accepted type/enhancement Proposed improvement or new feature waiting-reply Waiting on response from Original Poster or another individual in the thread
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants