diff options
| author | Loyalsoldier <[email protected]> | 2024-07-06 18:04:33 +0800 |
|---|---|---|
| committer | Loyalsoldier <[email protected]> | 2024-07-06 18:04:33 +0800 |
| commit | e3800440ce05aa1b8f27d56f47bbeef20f9499c6 (patch) | |
| tree | 5c85e84b7c02713b75738649e483b5758027d011 /plugin/special | |
| parent | 5843ee29c435b393bec57a367775c2f4e266eedc (diff) | |
Fix: remove entry & prefix
Diffstat (limited to 'plugin/special')
| -rw-r--r-- | plugin/special/cutter.go | 4 | ||||
| -rw-r--r-- | plugin/special/private.go | 4 | ||||
| -rw-r--r-- | plugin/special/stdin.go | 29 | ||||
| -rw-r--r-- | plugin/special/test.go | 4 |
4 files changed, 27 insertions, 14 deletions
diff --git a/plugin/special/cutter.go b/plugin/special/cutter.go index c5543c2b..d14e286d 100644 --- a/plugin/special/cutter.go +++ b/plugin/special/cutter.go @@ -89,7 +89,9 @@ func (c *cutter) Input(container lib.Container) (lib.Container, error) { if len(wantList) > 0 && !wantList[name] { continue } - container.Remove(name, ignoreIPType) + if err := container.Remove(entry, lib.CaseRemoveEntry, ignoreIPType); err != nil { + return nil, err + } } return container, nil diff --git a/plugin/special/private.go b/plugin/special/private.go index a3907aee..ec81acd1 100644 --- a/plugin/special/private.go +++ b/plugin/special/private.go @@ -85,7 +85,9 @@ func (p *private) Input(container lib.Container) (lib.Container, error) { return nil, err } case lib.ActionRemove: - container.Remove(entryNamePrivate) + if err := container.Remove(entry, lib.CaseRemovePrefix); err != nil { + return nil, err + } default: return nil, lib.ErrUnknownAction } diff --git a/plugin/special/stdin.go b/plugin/special/stdin.go index 1f59c1fe..4f56d756 100644 --- a/plugin/special/stdin.go +++ b/plugin/special/stdin.go @@ -3,6 +3,7 @@ package special import ( "bufio" "encoding/json" + "fmt" "os" "strings" @@ -35,6 +36,10 @@ func newStdin(action lib.Action, data json.RawMessage) (lib.InputConverter, erro } } + if tmp.Name == "" { + return nil, fmt.Errorf("type %s | action %s missing name", typeStdin, action) + } + return &stdin{ Type: typeStdin, Action: action, @@ -81,15 +86,8 @@ func (s *stdin) Input(container lib.Container) (lib.Container, error) { continue } - switch s.Action { - case lib.ActionAdd: - if err := entry.AddPrefix(line); err != nil { - continue - } - case lib.ActionRemove: - if err := entry.RemovePrefix(line); err != nil { - continue - } + if err := entry.AddPrefix(line); err != nil { + continue } } @@ -105,8 +103,17 @@ func (s *stdin) Input(container lib.Container) (lib.Container, error) { ignoreIPType = lib.IgnoreIPv4 } - if err := container.Add(entry, ignoreIPType); err != nil { - return nil, err + switch s.Action { + case lib.ActionAdd: + if err := container.Add(entry, ignoreIPType); err != nil { + return nil, err + } + case lib.ActionRemove: + if err := container.Remove(entry, lib.CaseRemovePrefix, ignoreIPType); err != nil { + return nil, err + } + default: + return nil, lib.ErrUnknownAction } return container, nil diff --git a/plugin/special/test.go b/plugin/special/test.go index 9a19004f..cf83ed83 100644 --- a/plugin/special/test.go +++ b/plugin/special/test.go @@ -65,7 +65,9 @@ func (t *test) Input(container lib.Container) (lib.Container, error) { return nil, err } case lib.ActionRemove: - container.Remove(entryNameTest) + if err := container.Remove(entry, lib.CaseRemovePrefix); err != nil { + return nil, err + } default: return nil, lib.ErrUnknownAction } |
