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

Method OperateAddressRule

agent/app/service/firewall.go:399–431  ·  view source on GitHub ↗
(req dto.AddrRuleOperate, reload bool)

Source from the content-addressed store, hash-verified

397}
398
399func (u *FirewallService) OperateAddressRule(req dto.AddrRuleOperate, reload bool) error {
400 client, err := firewall.NewFirewallClient()
401 if err != nil {
402 return err
403 }
404 chain := ""
405 if client.Name() == "iptables" {
406 chain = iptables.Chain1PanelBasic
407 }
408 var fireInfo fireClient.FireInfo
409 if err := copier.Copy(&fireInfo, &req); err != nil {
410 return err
411 }
412
413 addressList := strings.Split(req.Address, ",")
414 for i := 0; i < len(addressList); i++ {
415 if len(addressList[i]) == 0 {
416 continue
417 }
418 fireInfo.Address = addressList[i]
419 if err := client.RichRules(fireInfo, req.Operation); err != nil {
420 return err
421 }
422 req.Address = addressList[i]
423 if err := u.addAddressRecord(chain, req); err != nil {
424 return err
425 }
426 }
427 if reload {
428 return client.Reload()
429 }
430 return nil
431}
432
433func (u *FirewallService) UpdatePortRule(req dto.PortRuleUpdate) error {
434 client, err := firewall.NewFirewallClient()

Callers 2

UpdateAddrRuleMethod · 0.95
BatchOperateRuleMethod · 0.95

Calls 5

NameMethod · 0.95
RichRulesMethod · 0.95
addAddressRecordMethod · 0.95
ReloadMethod · 0.95
CopyMethod · 0.80

Tested by

no test coverage detected