MCPcopy Index your code
hub / github.com/1Panel-dev/1Panel / syncFirewallClientPortWhiteList

Function syncFirewallClientPortWhiteList

agent/app/service/firewall_setting.go:141–163  ·  view source on GitHub ↗
(client firewall.FirewallClient, oldPortWhiteList, portWhiteList []firewallPortWhitelist)

Source from the content-addressed store, hash-verified

139}
140
141func syncFirewallClientPortWhiteList(client firewall.FirewallClient, oldPortWhiteList, portWhiteList []firewallPortWhitelist) error {
142 oldPorts := firewallPortWhiteListMap(oldPortWhiteList)
143 newPorts := firewallPortWhiteListMap(portWhiteList)
144 for _, item := range oldPortWhiteList {
145 key := firewallPortWhiteListKey(item)
146 if _, ok := newPorts[key]; ok {
147 continue
148 }
149 if err := client.Port(fireClient.FireInfo{Port: item.Port, Protocol: item.Protocol, Strategy: "accept"}, "remove"); err != nil {
150 return err
151 }
152 }
153 for _, item := range portWhiteList {
154 key := firewallPortWhiteListKey(item)
155 if _, ok := oldPorts[key]; ok {
156 continue
157 }
158 if err := client.Port(fireClient.FireInfo{Port: item.Port, Protocol: item.Protocol, Strategy: "accept"}, "add"); err != nil {
159 return err
160 }
161 }
162 return client.Reload()
163}
164
165func firewallPortWhiteListMap(portWhiteList []firewallPortWhitelist) map[string]struct{} {
166 ports := make(map[string]struct{})

Callers 1

Calls 4

firewallPortWhiteListMapFunction · 0.85
firewallPortWhiteListKeyFunction · 0.85
PortMethod · 0.65
ReloadMethod · 0.65

Tested by

no test coverage detected