feat: allow 'all' for policy source and destination zones

This commit is contained in:
2026-03-01 11:14:42 +01:00
parent 8b787a99c2
commit 3dc97df6cd
5 changed files with 38 additions and 13 deletions

View File

@@ -35,7 +35,9 @@ class ShorewallGenerator:
def policy(self) -> str:
lines = [self._header("policy"), "#SOURCE".ljust(16) + "DEST".ljust(16) + "POLICY".ljust(16) + "LOG LEVEL\n"]
for p in sorted(self._config.policies, key=lambda x: x.position):
lines.append(self._col(p.src_zone.name, p.dst_zone.name, p.policy, p.log_level or "-"))
src = p.src_zone.name if p.src_zone else "all"
dst = p.dst_zone.name if p.dst_zone else "all"
lines.append(self._col(src, dst, p.policy, p.log_level or "-"))
return "".join(lines)
def rules(self) -> str: