浏览代码

Merge pull request #1351 from sanimej/edns

Send truncated external responses to the client
Madhu Venugopal 9 年之前
父节点
当前提交
7c3bbb4593
共有 1 个文件被更改,包括 5 次插入0 次删除
  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)
 					}