From 560dc05e2a88592e14371002985a759deff0f56b Mon Sep 17 00:00:00 2001 From: fbt Date: Mon, 10 Mar 2014 03:25:17 +0400 Subject: [PATCH] Reading table names from /proc instead of using grep --- init.d/iptables | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/init.d/iptables b/init.d/iptables index b306f12..2271943 100755 --- a/init.d/iptables +++ b/init.d/iptables @@ -17,8 +17,13 @@ stop() { iptables-save | sed -re 's/(:[A-Z]+\s+)[A-Z]+/\1ACCEPT/g' -e '/-.+/d' | iptables-restore ip6tables-save | sed -re 's/(:[A-Z]+\s+)[A-Z]+/\1ACCEPT/g' -e '/-.+/d' | ip6tables-restore - for i in $(iptables-save | grep -E '^\*'); do iptables -t "${i//\*/}" -X; done - for i in $(ip6tables-save | grep -E '^\*'); do ip6tables -t "${i//\*/}" -X; done + [[ -f '/proc/net/ip_tables_names' ]] && { + while read line; do iptables -t "$line" -X < /proc/net/ip_tables_names; done + } + + [[ -f '/proc/net/ip6_tables_names' ]] && { + while read line; do iptables -t "$line" -X < /proc/net/ip6_tables_names; done + } } save() {