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,
}
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])
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++