mirror of
https://github.com/xiaoqidun/probe.git
synced 2026-01-29 04:58:46 +08:00
fix(握手超时): 握手也需要处理超时
This commit is contained in:
@@ -204,6 +204,7 @@ func DialSocks5UDP(proxyAddr, network string, timeout time.Duration) (net.Packet
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
conn.SetDeadline(time.Now().Add(timeout))
|
||||||
_, err = conn.Write([]byte{0x05, 0x01, 0x00})
|
_, err = conn.Write([]byte{0x05, 0x01, 0x00})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
conn.Close()
|
conn.Close()
|
||||||
@@ -266,6 +267,9 @@ func DialSocks5UDP(proxyAddr, network string, timeout time.Duration) (net.Packet
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
relayIP = net.IP(b)
|
relayIP = net.IP(b)
|
||||||
|
default:
|
||||||
|
conn.Close()
|
||||||
|
return nil, fmt.Errorf("unsupported address type: 0x%x", header[3])
|
||||||
}
|
}
|
||||||
pb := make([]byte, 2)
|
pb := make([]byte, 2)
|
||||||
if _, err := io.ReadFull(conn, pb); err != nil {
|
if _, err := io.ReadFull(conn, pb); err != nil {
|
||||||
@@ -278,6 +282,7 @@ func DialSocks5UDP(proxyAddr, network string, timeout time.Duration) (net.Packet
|
|||||||
relayIP = remoteAddr.IP
|
relayIP = remoteAddr.IP
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
conn.SetDeadline(time.Time{})
|
||||||
relayAddr := &net.UDPAddr{IP: relayIP, Port: relayPort}
|
relayAddr := &net.UDPAddr{IP: relayIP, Port: relayPort}
|
||||||
lConn, err := net.ListenUDP(network, nil)
|
lConn, err := net.ListenUDP(network, nil)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
Reference in New Issue
Block a user