git: 9front

Download patch

ref: b4c1c2edb98afbcb453999b0403e15da351fa9ff
parent: 2de9c3368f3166817608efb5f36ee70d3ad86eba
author: cinap_lenrek <cinap_lenrek@felloff.net>
date: Tue Nov 26 17:31:23 EST 2013

ndb/dns: do dnresolve() loopcheck only on hosts that we havnt already tried

we might get a unreachable nameserver ip from a parent
nameserver. if the remaining set of nameservers does not
loop, we should try to resolve them.

so skip the loopcheck for nameservers already tried.

--- a/sys/src/cmd/ndb/dnresolve.c
+++ b/sys/src/cmd/ndb/dnresolve.c
@@ -814,6 +814,7 @@
 	 */
 	if(arp == 0){
 		for(rp = qp->nsrp; rp; rp = rp->next)
+			if(rp->marker == 0)
 			if(queryloops(qp, rp))
 				/*
 				 * give up as we should have got the address
--