(removeSet map[string]*PeerInfo)
| 280 | } |
| 281 | |
| 282 | func 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 | |
| 305 | func shouldIncludeUserInInterface(user *common.User, interfaceName string) bool { |
| 306 | return slices.Contains(user.GetInbounds(), interfaceName) |
no test coverage detected