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