| #!/bin/bash |
| |
| RET=0 |
| tmpfile="" |
| set -x |
| |
| |
| clean_tmpfile() |
| { |
| if [ ! -z "$tmpfile" ];then |
| rm -f "$tmpfile" |
| fi |
| } |
| |
| trap clean_tmpfile EXIT |
| |
| do_diff() |
| { |
| A="$1" |
| B="$2" |
| |
| AT=$(mktemp) |
| grep -v "^#" "$A" > "$AT" |
| |
| diff -u "$AT" "$B" |
| |
| x=$? |
| rm -f "$AT" |
| echo "Return $x for $XT_MULTI $A" |
| |
| return $x |
| } |
| |
| tmpfile=$(mktemp) || exit 1 |
| do_simple() |
| { |
| iptables="$1" |
| dumpfile="$2" |
| |
| $XT_MULTI ${iptables}-restore < "$dumpfile" |
| $XT_MULTI ${iptables}-save | grep -v "^#" > "$tmpfile" |
| do_diff $dumpfile "$tmpfile" |
| if [ $? -ne 0 ]; then |
| # cp "$tmpfile" "$dumpfile.got" |
| RET=1 |
| fi |
| } |
| |
| do_simple "iptables" $(dirname "$0")/dumps/ipt-save-filter.txt |
| do_simple "iptables" $(dirname "$0")/dumps/policy-drop.txt |
| do_simple "iptables" $(dirname "$0")/dumps/wireless.txt |
| |
| exit $RET |