]> Sergey Matveev's repositories - vors.git/commitdiff
Fixed race problem
authorSergey Matveev <stargrave@stargrave.org>
Tue, 16 Apr 2024 11:20:57 +0000 (14:20 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Tue, 16 Apr 2024 12:33:29 +0000 (15:33 +0300)
cmd/server/main.go
internal/version.go

index b6b72553beee9b38afae7afcc0c6df8df93ffd846bb98f9fbae3c280158658f0..300ce5af17bc87a4264f3fa3380403351656943108b7b9d993042c6628d27b7a 100644 (file)
@@ -409,7 +409,9 @@ func main() {
                                continue
                        }
 
-                       if from.Port != peer.addr.Port || !from.IP.Equal(peer.addr.IP) {
+                       if peer.addr == nil ||
+                               from.Port != peer.addr.Port ||
+                               !from.IP.Equal(peer.addr.IP) {
                                slog.Info("wrong addr",
                                        "peer", peer.name,
                                        "our", peer.addr,
@@ -428,7 +430,7 @@ func main() {
                        }
 
                        peer.mac.Reset()
-                       if _, err = peer.mac.Write(buf[: n-siphash.Size]); err != nil {
+                       if _, err = peer.mac.Write(buf[:n-siphash.Size]); err != nil {
                                log.Fatal(err)
                        }
                        peer.mac.Sum(tag[:0])
@@ -442,7 +444,7 @@ func main() {
 
                        peer.stats.last = time.Now()
                        for _, p := range peer.room.peers {
-                               if p.sid == sid {
+                               if p.sid == sid || p.addr == nil {
                                        continue
                                }
                                p.stats.pktsTx++
index f454ea5866d033e35b58d627c47d4b70e07fcb278a62b663ebece3b6d9496d1f..bbeb34266c92b611557160a238e0cf0756b43e1bc96752cdda8d1ded75869ac3 100644 (file)
@@ -3,7 +3,7 @@ package internal
 import "runtime"
 
 const (
-       Version  = "2.0.0"
+       Version  = "2.1.0"
        Warranty = `Copyright (C) 2024 Sergey Matveev
 
 This program is free software: you can redistribute it and/or modify