1
0
mirror of https://github.com/fumiama/terasu.git synced 2026-06-08 12:00:31 +08:00

fix(dns): false-positive disable on deadline

This commit is contained in:
源文雨
2025-10-06 00:38:26 +08:00
parent fffef1be40
commit 812043a905

View File

@@ -132,7 +132,9 @@ func (ds *DNSList) lookupHostDoH(ctx context.Context, host string) (hosts []stri
return nil
}
}
addr.disable(time.Hour) // no need to acquire write lock
if !errors.Is(err, context.DeadlineExceeded) && !errors.Is(err, context.Canceled) {
addr.disable(time.Hour) // no need to acquire write lock
}
}
return nil // not found, fallback to ds.b
})
@@ -171,7 +173,7 @@ func (ds *DNSList) DialContext(ctx context.Context, dialer *net.Dialer, firstFra
defer cancel()
}
conn, err = dialer.DialContext(ctx, "tcp", addr.a)
if err != nil {
if err != nil && !errors.Is(err, context.DeadlineExceeded) && !errors.Is(err, context.Canceled) {
addr.disable(time.Hour) // no need to acquire write lock
continue
}
@@ -181,7 +183,9 @@ func (ds *DNSList) DialContext(ctx context.Context, dialer *net.Dialer, firstFra
return nil
}
_ = tlsConn.Close()
addr.disable(time.Hour) // no need to acquire write lock
if !errors.Is(err, context.DeadlineExceeded) && !errors.Is(err, context.Canceled) {
addr.disable(time.Hour) // no need to acquire write lock
}
}
return nil
})