mirror of
https://git.zx2c4.com/wireguard-go
synced 2024-11-15 09:15:14 +01:00
device: take peer handshake when reinitializing last sent handshake
This papers over other unrelated races, unfortunately. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
This commit is contained in:
parent
91617b4c52
commit
01e176af3c
@ -171,6 +171,10 @@ func (peer *Peer) Start() {
|
|||||||
peer.stopping.Wait()
|
peer.stopping.Wait()
|
||||||
peer.stopping.Add(2)
|
peer.stopping.Add(2)
|
||||||
|
|
||||||
|
peer.handshake.mutex.Lock()
|
||||||
|
peer.handshake.lastSentHandshake = time.Now().Add(-(RekeyTimeout + time.Second))
|
||||||
|
peer.handshake.mutex.Unlock()
|
||||||
|
|
||||||
// prepare queues
|
// prepare queues
|
||||||
peer.queue.outbound = make(chan *QueueOutboundElement, QueueOutboundSize)
|
peer.queue.outbound = make(chan *QueueOutboundElement, QueueOutboundSize)
|
||||||
peer.queue.inbound = make(chan *QueueInboundElement, QueueInboundSize)
|
peer.queue.inbound = make(chan *QueueInboundElement, QueueInboundSize)
|
||||||
@ -180,7 +184,6 @@ func (peer *Peer) Start() {
|
|||||||
peer.device.queue.encryption.wg.Add(1) // keep encryption queue open for our writes
|
peer.device.queue.encryption.wg.Add(1) // keep encryption queue open for our writes
|
||||||
|
|
||||||
peer.timersInit()
|
peer.timersInit()
|
||||||
peer.handshake.lastSentHandshake = time.Now().Add(-(RekeyTimeout + time.Second))
|
|
||||||
|
|
||||||
go peer.RoutineSequentialSender()
|
go peer.RoutineSequentialSender()
|
||||||
go peer.RoutineSequentialReceiver()
|
go peer.RoutineSequentialReceiver()
|
||||||
|
Loading…
Reference in New Issue
Block a user