• jfbus's avatar
    net: use DNS over TCP when use-vc is set in resolv.conf · 825ff1e3
    jfbus authored
    There is a DNS resolution bug in Kubernetes (UDP response packets get dropped by conntrack, causing timeouts in DNS queries).
    
    The recommended workaround on Linux is to configure the resolver to use TCP for DNS queries, by setting the use-vc option in resolv.conf.
    
    With this PR, the pure Go resolver searches for "use-vc" in resolv.conf and switches to TCP when found.
    
    Fixes #29358
    
    Change-Id: I26b935cae2c80e5bb9955da83299a8dea84591de
    GitHub-Last-Rev: 70bc00fe41f44f0b2b3cfebe67bbcc45701968cf
    GitHub-Pull-Request: golang/go#29594
    Reviewed-on: https://go-review.googlesource.com/c/go/+/156366
    Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
    825ff1e3