2020-10-07 10:17:48 +02:00
|
|
|
/* SPDX-License-Identifier: MIT
|
|
|
|
*
|
2021-01-28 17:52:15 +01:00
|
|
|
* Copyright (C) 2017-2021 WireGuard LLC. All Rights Reserved.
|
2020-10-07 10:17:48 +02:00
|
|
|
*/
|
|
|
|
|
|
|
|
package device
|
|
|
|
|
2021-11-11 03:13:20 +01:00
|
|
|
// DisableSomeRoamingForBrokenMobileSemantics should ideally be called before peers are created,
|
|
|
|
// though it will try to deal with it, and race maybe, if called after.
|
2020-10-07 10:17:48 +02:00
|
|
|
func (device *Device) DisableSomeRoamingForBrokenMobileSemantics() {
|
2021-11-11 03:13:20 +01:00
|
|
|
device.net.brokenRoaming = true
|
2020-10-07 10:17:48 +02:00
|
|
|
device.peers.RLock()
|
|
|
|
for _, peer := range device.peers.keyMap {
|
|
|
|
peer.Lock()
|
|
|
|
peer.disableRoaming = peer.endpoint != nil
|
2021-04-13 00:19:35 +02:00
|
|
|
peer.Unlock()
|
2020-10-07 10:17:48 +02:00
|
|
|
}
|
|
|
|
device.peers.RUnlock()
|
2020-11-06 18:01:09 +01:00
|
|
|
}
|