device: add debug logs describing handshake rejection
Useful in testing when bad network stacks repeat or batch large numbers of packets. Signed-off-by: Avery Pennarun <apenwarr@tailscale.com>
This commit is contained in:
		
							parent
							
								
									2fb0a712f0
								
							
						
					
					
						commit
						d60857e1a7
					
				
					 1 changed files with 8 additions and 4 deletions
				
			
		|  | @ -314,11 +314,15 @@ func (device *Device) ConsumeMessageInitiation(msg *MessageInitiation) *Peer { | ||||||
| 
 | 
 | ||||||
| 	// protect against replay & flood
 | 	// protect against replay & flood
 | ||||||
| 
 | 
 | ||||||
| 	var ok bool | 	replay := !timestamp.After(handshake.lastTimestamp) | ||||||
| 	ok = timestamp.After(handshake.lastTimestamp) | 	flood := time.Since(handshake.lastInitiationConsumption) <= HandshakeInitationRate | ||||||
| 	ok = ok && time.Since(handshake.lastInitiationConsumption) > HandshakeInitationRate |  | ||||||
| 	handshake.mutex.RUnlock() | 	handshake.mutex.RUnlock() | ||||||
| 	if !ok { | 	if replay { | ||||||
|  | 		device.log.Debug.Printf("%v - ConsumeMessageInitiation: handshake replay @ %v\n", peer, timestamp) | ||||||
|  | 		return nil | ||||||
|  | 	} | ||||||
|  | 	if flood { | ||||||
|  | 		device.log.Debug.Printf("%v - ConsumeMessageInitiation: handshake flood\n", peer) | ||||||
| 		return nil | 		return nil | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue