Commit Diff


commit - fcbc0eaeb5ac159cd2b10e70e5deaae703cf5189
commit + c245affd0ab63714b15dc1e6bd67307059e8da4f
blob - 2d61b9775799401549b02a7326771ac4704a9098
blob + 96f445fbb2f41e17da146512daa63c93863a8556
--- dns.go
+++ dns.go
@@ -5,6 +5,7 @@ import (
 	"encoding/binary"
 	"errors"
 	"fmt"
+	"io"
 	"net"
 
 	"golang.org/x/net/dns/dnsmessage"
@@ -86,13 +87,9 @@ func dnsStreamExchange(b []byte, conn net.Conn) ([]byt
 	if _, err := conn.Write(m); err != nil {
 		return nil, err
 	}
-	buf := make([]byte, 1024)
-	n, err := conn.Read(buf)
+	buf, err := io.ReadAll(conn)
 	if err != nil {
 		return nil, err
 	}
-	if n == 0 {
-		return nil, fmt.Errorf("empty response")
-	}
-	return buf[2:n], nil
+	return buf[2:], nil
 }