Browse Source

Merge pull request #53 from alexaasha/feature/fix-errcheck-deadlines

Чтобы линтер не болел
pull/55/head
cacggghp 2 months ago
committed by GitHub
parent
commit
92544cfa7e
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 36
      client/main.go
  2. 28
      server/main.go

36
client/main.go

@ -367,7 +367,9 @@ func getYandexCreds(link string) (string, string, string, error) {
return "", "", "", fmt.Errorf("ws write: %w", err)
}
conn.SetReadDeadline(time.Now().Add(15 * time.Second))
if err := conn.SetReadDeadline(time.Now().Add(15 * time.Second)); err != nil {
return "", "", "", fmt.Errorf("ws set read deadline: %w", err)
}
for {
_, msg, err := conn.ReadMessage()
@ -475,8 +477,12 @@ func oneDtlsConnection(ctx context.Context, peer *net.UDPAddr, listenConn net.Pa
wg := sync.WaitGroup{}
wg.Add(2)
context.AfterFunc(dtlsctx, func() {
listenConn.SetDeadline(time.Now())
dtlsConn.SetDeadline(time.Now())
if err := listenConn.SetDeadline(time.Now()); err != nil {
log.Printf("Failed to set listener deadline: %s", err)
}
if err := dtlsConn.SetDeadline(time.Now()); err != nil {
log.Printf("Failed to set DTLS deadline: %s", err)
}
})
var addr atomic.Value
// Start read-loop on listenConn
@ -537,8 +543,12 @@ func oneDtlsConnection(ctx context.Context, peer *net.UDPAddr, listenConn net.Pa
}()
wg.Wait()
listenConn.SetDeadline(time.Time{})
dtlsConn.SetDeadline(time.Time{})
if err := listenConn.SetDeadline(time.Time{}); err != nil {
log.Printf("Failed to clear listener deadline: %s", err)
}
if err := dtlsConn.SetDeadline(time.Time{}); err != nil {
log.Printf("Failed to clear DTLS deadline: %s", err)
}
}
type connectedUDPConn struct {
@ -672,8 +682,12 @@ func oneTurnConnection(ctx context.Context, turnParams *turnParams, peer *net.UD
wg.Add(2)
turnctx, turncancel := context.WithCancel(context.Background())
context.AfterFunc(turnctx, func() {
relayConn.SetDeadline(time.Now())
conn2.SetDeadline(time.Now())
if err := relayConn.SetDeadline(time.Now()); err != nil {
log.Printf("Failed to set relay deadline: %s", err)
}
if err := conn2.SetDeadline(time.Now()); err != nil {
log.Printf("Failed to set upstream deadline: %s", err)
}
})
var addr atomic.Value
// Start read-loop on conn2 (output of DTLS)
@ -734,8 +748,12 @@ func oneTurnConnection(ctx context.Context, turnParams *turnParams, peer *net.UD
}()
wg.Wait()
relayConn.SetDeadline(time.Time{})
conn2.SetDeadline(time.Time{})
if err := relayConn.SetDeadline(time.Time{}); err != nil {
log.Printf("Failed to clear relay deadline: %s", err)
}
if err := conn2.SetDeadline(time.Time{}); err != nil {
log.Printf("Failed to clear upstream deadline: %s", err)
}
}
func oneDtlsConnectionLoop(ctx context.Context, peer *net.UDPAddr, listenConnChan <-chan net.PacketConn, connchan chan<- net.PacketConn, okchan chan<- struct{}) {

28
server/main.go

@ -129,8 +129,12 @@ func main() {
wg.Add(2)
ctx2, cancel2 := context.WithCancel(ctx)
context.AfterFunc(ctx2, func() {
conn.SetDeadline(time.Now())
serverConn.SetDeadline(time.Now())
if err := conn.SetDeadline(time.Now()); err != nil {
log.Printf("failed to set incoming deadline: %s", err)
}
if err := serverConn.SetDeadline(time.Now()); err != nil {
log.Printf("failed to set outgoing deadline: %s", err)
}
})
go func() {
defer wg.Done()
@ -142,14 +146,20 @@ func main() {
return
default:
}
conn.SetReadDeadline(time.Now().Add(time.Minute * 30))
if err1 := conn.SetReadDeadline(time.Now().Add(time.Minute * 30)); err1 != nil {
log.Printf("Failed: %s", err1)
return
}
n, err1 := conn.Read(buf)
if err1 != nil {
log.Printf("Failed: %s", err1)
return
}
serverConn.SetWriteDeadline(time.Now().Add(time.Minute * 30))
if err1 := serverConn.SetWriteDeadline(time.Now().Add(time.Minute * 30)); err1 != nil {
log.Printf("Failed: %s", err1)
return
}
_, err1 = serverConn.Write(buf[:n])
if err1 != nil {
log.Printf("Failed: %s", err1)
@ -167,14 +177,20 @@ func main() {
return
default:
}
serverConn.SetReadDeadline(time.Now().Add(time.Minute * 30))
if err1 := serverConn.SetReadDeadline(time.Now().Add(time.Minute * 30)); err1 != nil {
log.Printf("Failed: %s", err1)
return
}
n, err1 := serverConn.Read(buf)
if err1 != nil {
log.Printf("Failed: %s", err1)
return
}
conn.SetWriteDeadline(time.Now().Add(time.Minute * 30))
if err1 := conn.SetWriteDeadline(time.Now().Add(time.Minute * 30)); err1 != nil {
log.Printf("Failed: %s", err1)
return
}
_, err1 = conn.Write(buf[:n])
if err1 != nil {
log.Printf("Failed: %s", err1)

Loading…
Cancel
Save