mirror of
https://github.com/netbirdio/netbird.git
synced 2026-10-21 21:09:07 +02:00
[management] blocking sync requests for user peers sharing the same wireguard key (#7427)
This commit is contained in:
@@ -247,17 +247,8 @@ func (s *Server) Sync(req *proto.EncryptedMessage, srv proto.ManagementService_S
|
|||||||
sRealIP := realIP.String()
|
sRealIP := realIP.String()
|
||||||
peerMeta := extractPeerMeta(ctx, syncReq.GetMeta())
|
peerMeta := extractPeerMeta(ctx, syncReq.GetMeta())
|
||||||
|
|
||||||
userID, err := s.accountManager.GetUserIDByPeerKey(ctx, peerKey.String())
|
|
||||||
if err != nil {
|
|
||||||
s.syncSem.Add(-1)
|
|
||||||
if errStatus, ok := internalStatus.FromError(err); ok && errStatus.Type() == internalStatus.NotFound {
|
|
||||||
return status.Errorf(codes.PermissionDenied, "peer is not registered")
|
|
||||||
}
|
|
||||||
return mapError(ctx, err)
|
|
||||||
}
|
|
||||||
|
|
||||||
metahashed := metaHash(peerMeta)
|
metahashed := metaHash(peerMeta)
|
||||||
if userID == "" && !s.loginFilter.allowLogin(peerKey.String(), metahashed) {
|
if !s.loginFilter.allowLogin(peerKey.String(), metahashed) {
|
||||||
if s.appMetrics != nil {
|
if s.appMetrics != nil {
|
||||||
s.appMetrics.GRPCMetrics().CountSyncRequestBlocked()
|
s.appMetrics.GRPCMetrics().CountSyncRequestBlocked()
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user