fix: not clean dnat rule.
Some checks failed
Coverage CI / build (push) Has been cancelled
CodeQL / Analyze (go) (push) Has been cancelled
Ubuntu CI / build (push) Has been cancelled

This commit is contained in:
Daniel Ding
2025-12-03 11:22:19 +08:00
parent 4219d0ad9c
commit 87e2fe8fb0

View File

@@ -494,14 +494,14 @@ func (w *WorkerImpl) DelDnat(data schema.DNAT) error {
}
obj.Correct()
if _, ok := cfg.DelDnat(&obj); ok {
if older, ok := cfg.DelDnat(&obj); ok {
if err := w.dnat.DelRuleX(cn.IPRule{
Proto: obj.Protocol,
Dest: obj.Dest,
DstPort: fmt.Sprintf("%d", obj.Dport),
ToDest: fmt.Sprintf("%s:%d", obj.ToDest, obj.ToDport),
Proto: older.Protocol,
Dest: older.Dest,
DstPort: fmt.Sprintf("%d", older.Dport),
ToDest: fmt.Sprintf("%s:%d", older.ToDest, older.ToDport),
Jump: "DNAT",
Comment: "DNAT " + obj.Id(),
Comment: "DNAT " + older.Id(),
}); err != nil {
w.out.Warn("WorkerImple: DelDnat: %s", err)
}