summaryrefslogtreecommitdiff
path: root/src/device.go
diff options
context:
space:
mode:
authorMathias Hall-Andersen <mathias@hall-andersen.dk>2017-07-11 18:48:29 +0200
committerMathias Hall-Andersen <mathias@hall-andersen.dk>2017-07-11 18:48:29 +0200
commitc273078376d5aa394e871e7436b8e770b0c3f4a0 (patch)
treee868b73a61000b61929f8cec9949818694d6f2a0 /src/device.go
parent9c4acb9f358f576479975f7baaf6b4ed5ec932a8 (diff)
downloadwireguard-go-c273078376d5aa394e871e7436b8e770b0c3f4a0.tar.gz
wireguard-go-c273078376d5aa394e871e7436b8e770b0c3f4a0.zip
Added ratelimiting of handshake messages
Diffstat (limited to 'src/device.go')
-rw-r--r--src/device.go9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/device.go b/src/device.go
index 12d1ed9..2a2ad62 100644
--- a/src/device.go
+++ b/src/device.go
@@ -31,9 +31,10 @@ type Device struct {
signal struct {
stop chan struct{}
}
- underLoad int32 // used as an atomic bool
- peers map[NoisePublicKey]*Peer
- mac MACStateDevice
+ underLoad int32 // used as an atomic bool
+ ratelimiter Ratelimiter
+ peers map[NoisePublicKey]*Peer
+ mac MACStateDevice
}
func (device *Device) SetPrivateKey(sk NoisePrivateKey) {
@@ -66,6 +67,7 @@ func NewDevice(tun TUNDevice, logLevel int) *Device {
device.mtu = tun.MTU()
device.peers = make(map[NoisePublicKey]*Peer)
device.indices.Init()
+ device.ratelimiter.Init()
device.routingTable.Reset()
// listen
@@ -99,6 +101,7 @@ func NewDevice(tun TUNDevice, logLevel int) *Device {
go device.RoutineReadFromTUN(tun)
go device.RoutineReceiveIncomming()
go device.RoutineWriteToTUN(tun)
+ go device.ratelimiter.RoutineGarbageCollector(device.signal.stop)
return device
}