Ver Fonte

feat(udp转发): 新增 UDP 转发规则中的 CC防护参数

- 在 UdpLimitRule 结构体中添加 CcPacketBlockCount 和 CcPacketBlockDuration 字段
- 在创建和编辑 UDP 转发规则的请求中添加相应的参数- 更新相关服务和接口以支持新的 CC 防护参数
fusu há 1 mês atrás
pai
commit
4c323b7244
2 ficheiros alterados com 10 adições e 0 exclusões
  1. 4 0
      api/v1/udpForwarding.go
  2. 6 0
      internal/service/udpforwarding.go

+ 4 - 0
api/v1/udpForwarding.go

@@ -8,6 +8,8 @@ type UdpForwardingDataSend struct {
 	WafUdpLimitId     int    `form:"waf_udp_limit_id" json:"waf_udp_limit_id"`
 	CcPacketCount     int    `form:"cc_packet_count" json:"cc_packet_count" default:"0"`
 	CcPacketDuration  string `form:"cc_packet_duration" json:"cc_packet_duration" default:"0s"`
+	CcPacketBlockCount int    `form:"cc_packet_block_count" json:"cc_packet_block_count" default:"0"`
+	CcPacketBlockDuration string `form:"cc_packet_block_duration" json:"cc_packet_block_duration" default:"0s"`
 	CcCount           int    `form:"cc_count" json:"cc_count" default:"0"`
 	CcDuration        string `form:"cc_duration" json:"cc_duration" default:"0s"`
 	CcBlockCount      int    `form:"cc_block_count" json:"cc_block_count" default:"0"`
@@ -30,6 +32,8 @@ type UdpForwardingDataRequest struct {
 	WafUdpLimitId     int    `form:"waf_udp_limit_id" json:"waf_udp_limit_id"`
 	CcPacketCount     int    `form:"cc_packet_count" json:"cc_packet_count" default:"0"`
 	CcPacketDuration  string `form:"cc_packet_duration" json:"cc_packet_duration" default:"0s"`
+	CcPacketBlockCount int    `form:"cc_packet_block_count" json:"cc_packet_block_count" default:"0"`
+	CcPacketBlockDuration string `form:"cc_packet_block_duration" json:"cc_packet_block_duration" default:"0s"`
 	CcCount           int    `form:"cc_count" json:"cc_count" default:"0"`
 	CcDuration        string `form:"cc_duration" json:"cc_duration" default:"0s"`
 	CcBlockCount      int    `form:"cc_block_count" json:"cc_block_count" default:"0"`

+ 6 - 0
internal/service/udpforwarding.go

@@ -97,6 +97,8 @@ func (s *udpForWardingService) GetUdpForWarding(ctx context.Context,req v1.GetFo
 		WafUdpLimitId:      udpForWarding.UdpLimitRuleId,
 		CcPacketCount:      udpForWarding.CcPacketCount,
 		CcPacketDuration:   udpForWarding.CcPacketDuration,
+		CcPacketBlockCount: udpForWarding.CcPacketBlockCount,
+		CcPacketBlockDuration: udpForWarding.CcPacketBlockDuration,
 		CcCount:            udpForWarding.CcCount,
 		CcDuration:         udpForWarding.CcDuration,
 		CcBlockCount:       udpForWarding.CcBlockCount,
@@ -120,6 +122,8 @@ func (s *udpForWardingService) buildWafFormData(req *v1.UdpForwardingDataSend, r
 		"waf_udp_limit_id":     require.LimitRuleId,
 		"cc_packet_count":      req.CcPacketCount,
 		"cc_packet_duration":   req.CcPacketDuration,
+		"cc_packet_block_count": req.CcBlockCount,
+		"cc_packet_block_duration": req.CcBlockDuration,
 		"cc_count":             req.CcCount,
 		"cc_duration":          req.CcDuration,
 		"cc_block_count":       req.CcBlockCount,
@@ -200,6 +204,8 @@ func (s *udpForWardingService) prepareWafData(ctx context.Context, req *v1.UdpFo
 		Port:              PortInt,
 		CcPacketCount:     req.UdpForwardingData.CcPacketCount,
 		CcPacketDuration:  req.UdpForwardingData.CcPacketDuration,
+		CcPacketBlockCount: req.UdpForwardingData.CcBlockCount,
+		CcPacketBlockDuration: req.UdpForwardingData.CcBlockDuration,
 		CcCount:           req.UdpForwardingData.CcCount,
 		CcDuration:        req.UdpForwardingData.CcDuration,
 		CcBlockCount:      req.UdpForwardingData.CcBlockCount,