From bcccd6500893a754f2d0c35fa81ffef86ba56b95 Mon Sep 17 00:00:00 2001 From: Maycon Santos Date: Mon, 7 Jul 2025 19:35:48 +0200 Subject: [PATCH] add rate limit --- management/server/grpcserver.go | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/management/server/grpcserver.go b/management/server/grpcserver.go index 86d4e7fab..a9fb60c21 100644 --- a/management/server/grpcserver.go +++ b/management/server/grpcserver.go @@ -3,7 +3,6 @@ package server import ( "context" "fmt" - "math/rand/v2" "net" "net/netip" "os" @@ -179,7 +178,6 @@ func (s *GRPCServer) Sync(req *proto.EncryptedMessage, srv proto.ManagementServi } if !s.syncLimiter.Allow() { - time.Sleep(time.Second + (time.Millisecond * time.Duration(rand.IntN(20)*100))) log.Warnf("sync rate limit exceeded for peer %s", req.WgPubKey) return status.Errorf(codes.Internal, "temp rate limit reached") } @@ -492,7 +490,7 @@ func (s *GRPCServer) Login(ctx context.Context, req *proto.EncryptedMessage) (*p s.loginLimiterStore.Store(req.WgPubKey, newLimiter) if !newLimiter.Allow() { - time.Sleep(time.Second + (time.Millisecond * time.Duration(rand.IntN(20)*100))) + //time.Sleep(time.Second + (time.Millisecond * time.Duration(rand.IntN(20)*100))) log.WithContext(ctx).Warnf("rate limit exceeded for peer %s", req.WgPubKey) return nil, fmt.Errorf("temp rate limit reached (new peer limit)") } @@ -500,7 +498,7 @@ func (s *GRPCServer) Login(ctx context.Context, req *proto.EncryptedMessage) (*p // Use existing limiter for this peer limiter := limiterIface.(*rate.Limiter) if !limiter.Allow() { - time.Sleep(time.Second + (time.Millisecond * time.Duration(rand.IntN(20)*100))) + //time.Sleep(time.Second + (time.Millisecond * time.Duration(rand.IntN(20)*100))) log.WithContext(ctx).Warnf("rate limit exceeded for peer %s", req.WgPubKey) return nil, fmt.Errorf("temp rate limit reached (peer limit)") }