X-Git-Url: https://git.distorted.org.uk/~mdw/firewall/blobdiff_plain/89381fe13e3d664ba1d2bf407b0f49f2fd2040f4..45da078e5fc0936d3405377f8a978544913f9b05:/functions.m4 diff --git a/functions.m4 b/functions.m4 index 3cd570d..1cd0db5 100644 --- a/functions.m4 +++ b/functions.m4 @@ -109,11 +109,19 @@ clearchain () { makeset () { set -e name=$1; shift - if ipset -nL | grep -q "^Name: $name$"; then - : - else - ipset -N "$name" "$@" - fi + v=$(ipset --version) + createp=t + case "$v" in + "ipset v4"*) + if ipset -nL | grep -q "^Name: $name\$"; then createp=nil; fi + ;; + *) + if ipset -n -L | grep -q "^$name\$"; then createp=nil; fi + ;; + esac + case $createp in + t) ipset -N "$name" "$@" ;; + esac } ## errorchain CHAIN ACTION ARGS ...