mirror of
				https://github.com/TeaOSLab/EdgeAPI.git
				synced 2025-11-04 16:00:24 +08:00 
			
		
		
		
	生成节点时去除停用的WAF规则集
This commit is contained in:
		@@ -399,7 +399,7 @@ func (this *HTTPFirewallPolicyDAO) ListEnabledFirewallPolicies(tx *dbs.Tx, clust
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// ComposeFirewallPolicy 组合策略配置
 | 
					// ComposeFirewallPolicy 组合策略配置
 | 
				
			||||||
func (this *HTTPFirewallPolicyDAO) ComposeFirewallPolicy(tx *dbs.Tx, policyId int64, cacheMap *utils.CacheMap) (*firewallconfigs.HTTPFirewallPolicy, error) {
 | 
					func (this *HTTPFirewallPolicyDAO) ComposeFirewallPolicy(tx *dbs.Tx, policyId int64, forNode bool, cacheMap *utils.CacheMap) (*firewallconfigs.HTTPFirewallPolicy, error) {
 | 
				
			||||||
	if cacheMap == nil {
 | 
						if cacheMap == nil {
 | 
				
			||||||
		cacheMap = utils.NewCacheMap()
 | 
							cacheMap = utils.NewCacheMap()
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
@@ -433,18 +433,18 @@ func (this *HTTPFirewallPolicyDAO) ComposeFirewallPolicy(tx *dbs.Tx, policyId in
 | 
				
			|||||||
	config.Mode = policy.Mode
 | 
						config.Mode = policy.Mode
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// Inbound
 | 
						// Inbound
 | 
				
			||||||
	inbound := &firewallconfigs.HTTPFirewallInboundConfig{}
 | 
						var inbound = &firewallconfigs.HTTPFirewallInboundConfig{}
 | 
				
			||||||
	if IsNotNull(policy.Inbound) {
 | 
						if IsNotNull(policy.Inbound) {
 | 
				
			||||||
		err = json.Unmarshal(policy.Inbound, inbound)
 | 
							err = json.Unmarshal(policy.Inbound, inbound)
 | 
				
			||||||
		if err != nil {
 | 
							if err != nil {
 | 
				
			||||||
			return nil, err
 | 
								return nil, err
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		if len(inbound.GroupRefs) > 0 {
 | 
							if len(inbound.GroupRefs) > 0 {
 | 
				
			||||||
			resultGroupRefs := []*firewallconfigs.HTTPFirewallRuleGroupRef{}
 | 
								var resultGroupRefs = []*firewallconfigs.HTTPFirewallRuleGroupRef{}
 | 
				
			||||||
			resultGroups := []*firewallconfigs.HTTPFirewallRuleGroup{}
 | 
								var resultGroups = []*firewallconfigs.HTTPFirewallRuleGroup{}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			for _, groupRef := range inbound.GroupRefs {
 | 
								for _, groupRef := range inbound.GroupRefs {
 | 
				
			||||||
				groupConfig, err := SharedHTTPFirewallRuleGroupDAO.ComposeFirewallRuleGroup(tx, groupRef.GroupId)
 | 
									groupConfig, err := SharedHTTPFirewallRuleGroupDAO.ComposeFirewallRuleGroup(tx, groupRef.GroupId, forNode)
 | 
				
			||||||
				if err != nil {
 | 
									if err != nil {
 | 
				
			||||||
					return nil, err
 | 
										return nil, err
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
@@ -461,18 +461,18 @@ func (this *HTTPFirewallPolicyDAO) ComposeFirewallPolicy(tx *dbs.Tx, policyId in
 | 
				
			|||||||
	config.Inbound = inbound
 | 
						config.Inbound = inbound
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// Outbound
 | 
						// Outbound
 | 
				
			||||||
	outbound := &firewallconfigs.HTTPFirewallOutboundConfig{}
 | 
						var outbound = &firewallconfigs.HTTPFirewallOutboundConfig{}
 | 
				
			||||||
	if IsNotNull(policy.Outbound) {
 | 
						if IsNotNull(policy.Outbound) {
 | 
				
			||||||
		err = json.Unmarshal(policy.Outbound, outbound)
 | 
							err = json.Unmarshal(policy.Outbound, outbound)
 | 
				
			||||||
		if err != nil {
 | 
							if err != nil {
 | 
				
			||||||
			return nil, err
 | 
								return nil, err
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		if len(outbound.GroupRefs) > 0 {
 | 
							if len(outbound.GroupRefs) > 0 {
 | 
				
			||||||
			resultGroupRefs := []*firewallconfigs.HTTPFirewallRuleGroupRef{}
 | 
								var resultGroupRefs = []*firewallconfigs.HTTPFirewallRuleGroupRef{}
 | 
				
			||||||
			resultGroups := []*firewallconfigs.HTTPFirewallRuleGroup{}
 | 
								var resultGroups = []*firewallconfigs.HTTPFirewallRuleGroup{}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			for _, groupRef := range outbound.GroupRefs {
 | 
								for _, groupRef := range outbound.GroupRefs {
 | 
				
			||||||
				groupConfig, err := SharedHTTPFirewallRuleGroupDAO.ComposeFirewallRuleGroup(tx, groupRef.GroupId)
 | 
									groupConfig, err := SharedHTTPFirewallRuleGroupDAO.ComposeFirewallRuleGroup(tx, groupRef.GroupId, forNode)
 | 
				
			||||||
				if err != nil {
 | 
									if err != nil {
 | 
				
			||||||
					return nil, err
 | 
										return nil, err
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -81,7 +81,7 @@ func (this *HTTPFirewallRuleGroupDAO) FindHTTPFirewallRuleGroupName(tx *dbs.Tx,
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// ComposeFirewallRuleGroup 组合配置
 | 
					// ComposeFirewallRuleGroup 组合配置
 | 
				
			||||||
func (this *HTTPFirewallRuleGroupDAO) ComposeFirewallRuleGroup(tx *dbs.Tx, groupId int64) (*firewallconfigs.HTTPFirewallRuleGroup, error) {
 | 
					func (this *HTTPFirewallRuleGroupDAO) ComposeFirewallRuleGroup(tx *dbs.Tx, groupId int64, forNode bool) (*firewallconfigs.HTTPFirewallRuleGroup, error) {
 | 
				
			||||||
	group, err := this.FindEnabledHTTPFirewallRuleGroup(tx, groupId)
 | 
						group, err := this.FindEnabledHTTPFirewallRuleGroup(tx, groupId)
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		return nil, err
 | 
							return nil, err
 | 
				
			||||||
@@ -89,7 +89,7 @@ func (this *HTTPFirewallRuleGroupDAO) ComposeFirewallRuleGroup(tx *dbs.Tx, group
 | 
				
			|||||||
	if group == nil {
 | 
						if group == nil {
 | 
				
			||||||
		return nil, nil
 | 
							return nil, nil
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	config := &firewallconfigs.HTTPFirewallRuleGroup{}
 | 
						var config = &firewallconfigs.HTTPFirewallRuleGroup{}
 | 
				
			||||||
	config.Id = int64(group.Id)
 | 
						config.Id = int64(group.Id)
 | 
				
			||||||
	config.IsOn = group.IsOn
 | 
						config.IsOn = group.IsOn
 | 
				
			||||||
	config.Name = group.Name
 | 
						config.Name = group.Name
 | 
				
			||||||
@@ -98,7 +98,7 @@ func (this *HTTPFirewallRuleGroupDAO) ComposeFirewallRuleGroup(tx *dbs.Tx, group
 | 
				
			|||||||
	config.IsTemplate = group.IsTemplate
 | 
						config.IsTemplate = group.IsTemplate
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if IsNotNull(group.Sets) {
 | 
						if IsNotNull(group.Sets) {
 | 
				
			||||||
		setRefs := []*firewallconfigs.HTTPFirewallRuleSetRef{}
 | 
							var setRefs = []*firewallconfigs.HTTPFirewallRuleSetRef{}
 | 
				
			||||||
		err = json.Unmarshal(group.Sets, &setRefs)
 | 
							err = json.Unmarshal(group.Sets, &setRefs)
 | 
				
			||||||
		if err != nil {
 | 
							if err != nil {
 | 
				
			||||||
			return nil, err
 | 
								return nil, err
 | 
				
			||||||
@@ -108,7 +108,7 @@ func (this *HTTPFirewallRuleGroupDAO) ComposeFirewallRuleGroup(tx *dbs.Tx, group
 | 
				
			|||||||
			if err != nil {
 | 
								if err != nil {
 | 
				
			||||||
				return nil, err
 | 
									return nil, err
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
			if setConfig != nil {
 | 
								if setConfig != nil && (!forNode || setConfig.IsOn) {
 | 
				
			||||||
				config.SetRefs = append(config.SetRefs, setRef)
 | 
									config.SetRefs = append(config.SetRefs, setRef)
 | 
				
			||||||
				config.Sets = append(config.Sets, setConfig)
 | 
									config.Sets = append(config.Sets, setConfig)
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -301,7 +301,7 @@ func (this *HTTPWebDAO) ComposeWebConfig(tx *dbs.Tx, webId int64, isLocationOrGr
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
			// 自定义防火墙设置
 | 
								// 自定义防火墙设置
 | 
				
			||||||
			if firewallRef.FirewallPolicyId > 0 {
 | 
								if firewallRef.FirewallPolicyId > 0 {
 | 
				
			||||||
				firewallPolicy, err := SharedHTTPFirewallPolicyDAO.ComposeFirewallPolicy(tx, firewallRef.FirewallPolicyId, cacheMap)
 | 
									firewallPolicy, err := SharedHTTPFirewallPolicyDAO.ComposeFirewallPolicy(tx, firewallRef.FirewallPolicyId, forNode, cacheMap)
 | 
				
			||||||
				if err != nil {
 | 
									if err != nil {
 | 
				
			||||||
					return nil, err
 | 
										return nil, err
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1117,7 +1117,7 @@ func (this *NodeDAO) ComposeNodeConfig(tx *dbs.Tx, nodeId int64, dataMap *shared
 | 
				
			|||||||
		// 防火墙
 | 
							// 防火墙
 | 
				
			||||||
		var httpFirewallPolicyId = int64(nodeCluster.HttpFirewallPolicyId)
 | 
							var httpFirewallPolicyId = int64(nodeCluster.HttpFirewallPolicyId)
 | 
				
			||||||
		if httpFirewallPolicyId > 0 {
 | 
							if httpFirewallPolicyId > 0 {
 | 
				
			||||||
			firewallPolicy, err := SharedHTTPFirewallPolicyDAO.ComposeFirewallPolicy(tx, httpFirewallPolicyId, cacheMap)
 | 
								firewallPolicy, err := SharedHTTPFirewallPolicyDAO.ComposeFirewallPolicy(tx, httpFirewallPolicyId, true, cacheMap)
 | 
				
			||||||
			if err != nil {
 | 
								if err != nil {
 | 
				
			||||||
				return nil, err
 | 
									return nil, err
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -177,7 +177,7 @@ func (this *HTTPFirewallPolicyService) UpdateHTTPFirewallPolicy(ctx context.Cont
 | 
				
			|||||||
	var tx = this.NullTx()
 | 
						var tx = this.NullTx()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// 已经有的数据
 | 
						// 已经有的数据
 | 
				
			||||||
	firewallPolicy, err := models.SharedHTTPFirewallPolicyDAO.ComposeFirewallPolicy(tx, req.HttpFirewallPolicyId, nil)
 | 
						firewallPolicy, err := models.SharedHTTPFirewallPolicyDAO.ComposeFirewallPolicy(tx, req.HttpFirewallPolicyId, false, nil)
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		return nil, err
 | 
							return nil, err
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
@@ -448,7 +448,7 @@ func (this *HTTPFirewallPolicyService) FindEnabledHTTPFirewallPolicyConfig(ctx c
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	var tx = this.NullTx()
 | 
						var tx = this.NullTx()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	config, err := models.SharedHTTPFirewallPolicyDAO.ComposeFirewallPolicy(tx, req.HttpFirewallPolicyId, nil)
 | 
						config, err := models.SharedHTTPFirewallPolicyDAO.ComposeFirewallPolicy(tx, req.HttpFirewallPolicyId, false, nil)
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		return nil, err
 | 
							return nil, err
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
@@ -512,7 +512,7 @@ func (this *HTTPFirewallPolicyService) ImportHTTPFirewallPolicy(ctx context.Cont
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	var tx = this.NullTx()
 | 
						var tx = this.NullTx()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	oldConfig, err := models.SharedHTTPFirewallPolicyDAO.ComposeFirewallPolicy(tx, req.HttpFirewallPolicyId, nil)
 | 
						oldConfig, err := models.SharedHTTPFirewallPolicyDAO.ComposeFirewallPolicy(tx, req.HttpFirewallPolicyId, false, nil)
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		return nil, err
 | 
							return nil, err
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
@@ -675,7 +675,7 @@ func (this *HTTPFirewallPolicyService) CheckHTTPFirewallPolicyIPStatus(ctx conte
 | 
				
			|||||||
	ipLong := utils.IP2Long(req.Ip)
 | 
						ipLong := utils.IP2Long(req.Ip)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	var tx = this.NullTx()
 | 
						var tx = this.NullTx()
 | 
				
			||||||
	firewallPolicy, err := models.SharedHTTPFirewallPolicyDAO.ComposeFirewallPolicy(tx, req.HttpFirewallPolicyId, nil)
 | 
						firewallPolicy, err := models.SharedHTTPFirewallPolicyDAO.ComposeFirewallPolicy(tx, req.HttpFirewallPolicyId, false, nil)
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		return nil, err
 | 
							return nil, err
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -101,7 +101,7 @@ func (this *HTTPFirewallRuleGroupService) FindEnabledHTTPFirewallRuleGroupConfig
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	var tx = this.NullTx()
 | 
						var tx = this.NullTx()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	groupConfig, err := models.SharedHTTPFirewallRuleGroupDAO.ComposeFirewallRuleGroup(tx, req.FirewallRuleGroupId)
 | 
						groupConfig, err := models.SharedHTTPFirewallRuleGroupDAO.ComposeFirewallRuleGroup(tx, req.FirewallRuleGroupId, false)
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		return nil, err
 | 
							return nil, err
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
@@ -198,7 +198,7 @@ func (this *HTTPFirewallRuleGroupService) AddHTTPFirewallRuleGroupSet(ctx contex
 | 
				
			|||||||
	var tx = this.NullTx()
 | 
						var tx = this.NullTx()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// 已经有的规则
 | 
						// 已经有的规则
 | 
				
			||||||
	config, err := models.SharedHTTPFirewallRuleGroupDAO.ComposeFirewallRuleGroup(tx, req.FirewallRuleGroupId)
 | 
						config, err := models.SharedHTTPFirewallRuleGroupDAO.ComposeFirewallRuleGroup(tx, req.FirewallRuleGroupId, false)
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		return nil, err
 | 
							return nil, err
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user