git: 9front

Download patch

ref: 29bcd975b28ec134566b93ae589a24c4a6e6c81e
parent: 6c0ab35d56d247f22b7947dfcc45a5695a82e54c
author: cinap_lenrek <cinap_lenrek@felloff.net>
date: Thu Oct 11 14:57:14 EDT 2018

ndb/dnstcp: only lookup the expected address type in findserver()

theres no reason to lookup both A and AAAA records, as we already
know the type of srcip.

--- a/sys/src/cmd/ndb/dnstcp.c
+++ b/sys/src/cmd/ndb/dnstcp.c
@@ -265,8 +265,8 @@
 				return servers;
 			continue;
 		}
-		list = dnresolve(servers->name, Cin, Ta, req, nil, 0, Recurse, 0, nil);
-		rrcat(&list, dnresolve(servers->name, Cin, Taaaa, req, nil, 0, Recurse, 0, nil));
+		list = dnresolve(servers->name, Cin, isv4(srcip)? Ta: Taaaa,
+			req, nil, 0, Recurse, 0, nil);
 		for(rp = list; rp != nil; rp = rp->next){
 			if(parseip(ip, rp->ip->name) == -1)
 				continue;
--