mirror of
https://github.com/Control-D-Inc/ctrld.git
synced 2026-07-04 01:07:49 +02:00
Set deadline for custom UDP/TCP conn
Otherwise, OS resolver may hang forever if the server does not reply. While at it, also removing unused method stopClientInfoDiscover. Updates #344
This commit is contained in:
committed by
Cuong Manh Le
parent
cf6d16b439
commit
1c50c2b6af
@@ -289,6 +289,7 @@ func customDNSExchange(ctx context.Context, msg *dns.Msg, server string, desired
|
||||
return nil, err
|
||||
}
|
||||
defer udpConn.Close()
|
||||
udpConn.SetDeadline(time.Now().Add(3 * time.Second))
|
||||
udpDnsConn := &dns.Conn{Conn: udpConn}
|
||||
if err = udpDnsConn.WriteMsg(msg); err != nil {
|
||||
return nil, err
|
||||
@@ -310,6 +311,7 @@ func customDNSExchange(ctx context.Context, msg *dns.Msg, server string, desired
|
||||
return reply, nil // fallback to UDP reply if TCP dial fails.
|
||||
}
|
||||
defer tcpConn.Close()
|
||||
tcpConn.SetDeadline(time.Now().Add(3 * time.Second))
|
||||
tcpDnsConn := &dns.Conn{Conn: tcpConn}
|
||||
if err = tcpDnsConn.WriteMsg(msg); err != nil {
|
||||
return reply, nil // fallback if TCP write fails.
|
||||
|
||||
Reference in New Issue
Block a user