)
const (
- // NonceIncrServer is nonce increment value for server message
- NonceIncrServer = 1
- // NonceIncrClient is nonce increment value for client message
- NonceIncrClient = 2
NonceSize = 8
AliveTimeout = time.Second * 90
// S20BS is Salsa20's internal blocksize in bytes
var remote *net.UDPAddr
serverMode := false
- nonceIncr := uint64(NonceIncrClient)
bindTo := "0.0.0.0:0"
if len(*bindAddr) > 1 {
bindTo = *bindAddr
serverMode = true
- nonceIncr = uint64(NonceIncrServer)
}
bind, err := net.ResolveUDPAddr("udp", bindTo)
if !peer.IsAlive() {
continue
}
- peer.nonceOur = peer.nonceOur + nonceIncr
+ peer.nonceOur = peer.nonceOur + 2
pktData := ethPkt.Data()
binary.PutUvarint(nonce, peer.nonceOur)
copy(buf[S20BS:], pktData)
}
// Switch peer
- peer := Peer{addr: h.addr, nonceOur: 0, nonceRecv: 0}
+ peer := Peer{addr: h.addr, nonceOur: 1, nonceRecv: 0}
peer.SetAlive()
peer.key = KeyFromSecrets(h.sServer[:], h.sClient[:])
fmt.Print("[OK]")