Skip to content

Commit f25fa1e

Browse files
committed
⏯️ dns: limit tcp retry
1 parent 84115dd commit f25fa1e

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

dns/dns.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -550,16 +550,18 @@ func (r *Resolver) sendQueriesTCP(ctx context.Context, nameString string, querie
550550
dialer, clientInfo := r.tcpClient.NewStreamDialer()
551551

552552
// Retry unanswered queries.
553-
for !result.isDone() {
553+
for range 2 {
554554
b := queries
555555
switch {
556+
case result.v4done && result.v6done:
557+
return
556558
case result.v4done:
557559
b = b[q4PktEnd:]
558560
case result.v6done:
559561
b = b[:q4PktEnd]
560562
}
561563
if !r.doTCP(ctx, dialer, clientInfo, nameString, b, result) {
562-
break
564+
return
563565
}
564566
}
565567
}

0 commit comments

Comments
 (0)