diff options
Diffstat (limited to 'device/mobilequirks.go')
-rw-r--r-- | device/mobilequirks.go | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/device/mobilequirks.go b/device/mobilequirks.go new file mode 100644 index 0000000..af4be31 --- /dev/null +++ b/device/mobilequirks.go @@ -0,0 +1,19 @@ +/* SPDX-License-Identifier: MIT + * + * Copyright (C) 2017-2025 WireGuard LLC. All Rights Reserved. + */ + +package device + +// DisableSomeRoamingForBrokenMobileSemantics should ideally be called before peers are created, +// though it will try to deal with it, and race maybe, if called after. +func (device *Device) DisableSomeRoamingForBrokenMobileSemantics() { + device.net.brokenRoaming = true + device.peers.RLock() + for _, peer := range device.peers.keyMap { + peer.endpoint.Lock() + peer.endpoint.disableRoaming = peer.endpoint.val != nil + peer.endpoint.Unlock() + } + device.peers.RUnlock() +} |