From 262ddb5f120d4b7178992bf2f773fa1049b553c0 Mon Sep 17 00:00:00 2001 From: ssongliu <73214554+ssongliu@users.noreply.github.com> Date: Mon, 6 Nov 2023 10:54:39 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=A7=A3=E5=86=B3=20UFW=20=E9=98=B2?= =?UTF-8?q?=E7=81=AB=E5=A2=99=E8=A7=84=E5=88=99=E4=B8=BA=E7=A9=BA=E6=97=B6?= =?UTF-8?q?=E6=8F=92=E5=85=A5=E8=A7=84=E5=88=99=E5=A4=B1=E8=B4=A5=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98=20(#2816)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Refs #2794 --- backend/utils/firewall/client/ufw.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/backend/utils/firewall/client/ufw.go b/backend/utils/firewall/client/ufw.go index d2e42c5b2..3a00fedaf 100644 --- a/backend/utils/firewall/client/ufw.go +++ b/backend/utils/firewall/client/ufw.go @@ -183,6 +183,13 @@ func (f *Ufw) RichRules(rule FireInfo, operation string) error { stdout, err := cmd.Exec(ruleStr) if err != nil { + if strings.Contains(stdout, "ERROR: Invalid position") { + stdout, err := cmd.Exec(strings.ReplaceAll(ruleStr, "insert 1 ", "")) + if err != nil { + return fmt.Errorf("%s rich rules (%s), failed, err: %s", operation, ruleStr, stdout) + } + return nil + } return fmt.Errorf("%s rich rules (%s), failed, err: %s", operation, ruleStr, stdout) } return nil