summaryrefslogtreecommitdiffhomepage
path: root/device/mobilequirks.go
blob: 680f5c7043a3ed2675b266a3bb30f95aab6d1e27 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/* SPDX-License-Identifier: MIT
 *
 * Copyright (C) 2017-2021 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.Lock()
		peer.disableRoaming = peer.endpoint != nil
		peer.Unlock()
	}
	device.peers.RUnlock()
}