From 4591c41cb06db0933263ee716f6a934f9fa76f5d Mon Sep 17 00:00:00 2001 From: Kroese Date: Wed, 15 Jul 2026 19:22:27 +0200 Subject: [PATCH] feat: Suppress empty iptables debug sections (#90) --- src/network.sh | 36 +++++++++++++++++++++++------------- 1 file changed, 23 insertions(+), 13 deletions(-) diff --git a/src/network.sh b/src/network.sh index 7f5801f..e07533c 100644 --- a/src/network.sh +++ b/src/network.sh @@ -474,18 +474,37 @@ createTap() { return 0 } +showRules() { + + local table="$1" + local chain="$2" + local label="$3" + local rules="" + + rules=$(iptables -t "$table" -S "$chain" 2>/dev/null | + awk '$1 == "-A"' || true) + + [ -n "$rules" ] || return 0 + + printf "Existing %s rules:\n\n%s\n\n" "$label" "$rules" + return 0 +} + checkExistingTables() { + local msg="" local rules="" local conflicts="" - rules=$(iptables -t filter -S FORWARD 2>/dev/null || true) + rules=$(iptables -t filter -S FORWARD 2>/dev/null | + awk '$1 == "-A"' || true) + conflicts=$(grep -E -- \ '^-A FORWARD .*(-j DROP|-j REJECT)( |$)' \ <<< "$rules" || true) if [ -n "$conflicts" ]; then - local msg="existing firewall rules may block traffic forwarded to or from the VM subnet" + msg="your existing firewall rules may block traffic forwarded to or from the VM subnet" if enabled "$DEBUG"; then warn "${msg}." @@ -494,18 +513,9 @@ checkExistingTables() { fi fi - if enabled "$DEBUG" && [ -n "$rules" ]; then - printf "Existing filter FORWARD rules:\n\n%s\n\n" "$rules" - fi - if enabled "$DEBUG"; then - - rules=$(iptables -t nat -S POSTROUTING 2>/dev/null || true) - - if [ -n "$rules" ]; then - printf "Existing NAT POSTROUTING rules:\n\n%s\n\n" "$rules" - fi - + showRules filter FORWARD "filter FORWARD" + showRules nat POSTROUTING "NAT POSTROUTING" fi return 0