MCPcopy Create free account
hub / github.com/PasarGuard/node / buildRemoveConfigsForPeers

Function buildRemoveConfigsForPeers

backend/wireguard/user_common.go:282–303  ·  view source on GitHub ↗
(removeSet map[string]*PeerInfo)

Source from the content-addressed store, hash-verified

280}
281
282func buildRemoveConfigsForPeers(removeSet map[string]*PeerInfo) ([]string, []wgtypes.PeerConfig) {
283 sortedKeys := make([]string, 0, len(removeSet))
284 for key := range removeSet {
285 sortedKeys = append(sortedKeys, key)
286 }
287 sort.Strings(sortedKeys)
288
289 var validRemoveKeys []string
290 var peerConfigs []wgtypes.PeerConfig
291
292 for _, key := range sortedKeys {
293 publicKey, err := wgtypes.ParseKey(key)
294 if err != nil {
295 log.Printf("quarantining peer removal %s due to invalid key %q: %v", removeSet[key].Email, key, err)
296 continue
297 }
298 peerConfigs = append(peerConfigs, buildRemoveConfig(publicKey))
299 validRemoveKeys = append(validRemoveKeys, key)
300 }
301
302 return validRemoveKeys, peerConfigs
303}
304
305func shouldIncludeUserInInterface(user *common.User, interfaceName string) bool {
306 return slices.Contains(user.GetInbounds(), interfaceName)

Callers 1

buildSyncDiffMethod · 0.85

Calls 1

buildRemoveConfigFunction · 0.85

Tested by

no test coverage detected