Kaynağa Gözat

Merge pull request #1351 from sanimej/edns

Send truncated external responses to the client
Madhu Venugopal 9 yıl önce
ebeveyn
işleme
7c3bbb4593
1 değiştirilmiş dosya ile 5 ekleme ve 0 silme
  1. 5 0
      libnetwork/resolver.go

+ 5 - 0
libnetwork/resolver.go

@@ -474,6 +474,11 @@ func (r *resolver) ServeDNS(w dns.ResponseWriter, query *dns.Msg) {
 				// read again
 				resp, err = co.ReadMsg()
 				if err != nil {
+					// Truncated DNS replies should be sent to the client so that the
+					// client can retry over TCP
+					if err == dns.ErrTruncated && resp != nil {
+						break
+					}
 					if nerr, ok := err.(net.Error); ok && nerr.Timeout() {
 						r.addQueryToGC(w, query)
 					}