Skip to content

net: add EDNS0 support to builtin DNS stub resolver #6464

Closed
@mikioh

Description

@mikioh
issue #6336 unveiled that we need minimum DNS transport support in build-in DNS resolver
for when we cannot rely on underlying stuff such as libc. For now, looks like EDNS0 is
the only missing piece.

Activity

rsc

rsc commented on Sep 24, 2013

@rsc
Contributor

Comment 1:

Why? What current C calls are we making that take advantage of EDNS0?
rsc

rsc commented on Dec 4, 2013

@rsc
Contributor

Comment 2:

Labels changed: added release-none, removed go1.3maybe.

rsc

rsc commented on Dec 4, 2013

@rsc
Contributor

Comment 3:

Labels changed: added repo-main.

added this to the Unplanned milestone on Apr 10, 2015
garrickp

garrickp commented on Apr 30, 2015

@garrickp

+1

Ran into this while debugging a problem with pulling Docker images: we were unable to pull an image due to a DNS resolution error. It turns out our router was forwarding up to 4k DNS responses regardless of the state of the EDNS0 flag, and the Go DNS package was (correctly to the spec) choking on the larger than expected message. The ultimate fix was for the router itself, setting the window to back down to the RFC correct 512 byte size.

Again, this is not a bug with the Go implementation of DNS, but considering how broadly used EDNS0 is for avoiding a fallback to TCP for large DNS responses (which are more and more common), it might be worth implementing the EDNS0 DNS extension if only for that feature.

bradfitz

bradfitz commented on Apr 30, 2015

@bradfitz
Contributor
mikioh

mikioh commented on Jun 5, 2015

@mikioh
ContributorAuthor

I still hesitate to say "yup, that's the way to go" because we are already not innocent.

I also understand that EDNS0 would be pretty useful under the well-configured, managed and secured environment. In addition, DNS stub resolver perhaps might avoid being affected by various attacks based on UDP over IP fragmentation. I mean, with DNSSEC it sounds pretty reasonable, but in other cases... still thinking.

changed the title [-]net: add EDNS0 support to built-in DNS resolver[/-] [+]net: add EDNS0 support to builtin DNS stub resolver[/+] on Jun 5, 2015

33 remaining items

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @danp@bradfitz@mikioh@rsc@garrickp

        Issue actions

          net: add EDNS0 support to builtin DNS stub resolver · Issue #6464 · golang/go