]> git.ipfire.org Git - thirdparty/iptables.git/commitdiff
iptables-apply: Eliminate shellcheck warnings
authorPhil Sutter <phil@nwl.cc>
Tue, 1 Aug 2023 14:56:42 +0000 (16:56 +0200)
committerPhil Sutter <phil@nwl.cc>
Tue, 1 Aug 2023 15:16:37 +0000 (17:16 +0200)
Actual warnings were only about use of '-a' in bracket expressions
(replace by '&&' pipeline) and the immediate evaluation of the variable
in trap command.

The remaining changes silence info-level messages: missing quoting
around variables, pointless '$' in arithmetic expressions, backticks
instead of $(...), missing '-r' parameter when calling read and an
awkward negated '-z' check.

Signed-off-by: Phil Sutter <phil@nwl.cc>
iptables/iptables-apply

index 3a7df5e3cbc1fd4426214cad47b35877550a426a..c603fb2113ef33e47a76ad3c254dda5d4c50bc11 100755 (executable)
@@ -141,9 +141,9 @@ for opt in $OPTS; do
                        ;;
                (*)
                        case "${OPT_STATE:-}" in
-                               (SET_TIMEOUT) eval TIMEOUT=$opt;;
+                               (SET_TIMEOUT) eval TIMEOUT="$opt";;
                                (SET_SAVEFILE)
-                                       eval SAVEFILE=$opt
+                                       eval SAVEFILE="$opt"
                                        [ -z "$SAVEFILE" ] && SAVEFILE="$DEF_SAVEFILE"
                                        ;;
                        esac
@@ -163,13 +163,13 @@ done
 
 # Validate parameters
 if [ "$TIMEOUT" -ge 0 ] 2>/dev/null; then
-       TIMEOUT=$(($TIMEOUT))
+       TIMEOUT=$((TIMEOUT))
 else
        echo "Error: timeout must be a positive number" >&2
        exit 1
 fi
 
-if [ -n "$SAVEFILE" -a -e "$SAVEFILE" -a ! -w "$SAVEFILE" ]; then
+if [ -n "$SAVEFILE" ] && [ -e "$SAVEFILE" ] && [ ! -w "$SAVEFILE" ]; then
        echo "Error: savefile not writable: $SAVEFILE" >&2
        exit 8
 fi
@@ -205,8 +205,8 @@ esac
 ### Begin work
 
 # Store old iptables rules to temporary file
-TMPFILE=`mktemp /tmp/$PROGNAME-XXXXXXXX`
-trap "rm -f $TMPFILE" EXIT HUP INT QUIT ILL TRAP ABRT BUS \
+TMPFILE=$(mktemp "/tmp/$PROGNAME-XXXXXXXX")
+trap 'rm -f $TMPFILE' EXIT HUP INT QUIT ILL TRAP ABRT BUS \
                      FPE USR1 SEGV USR2 PIPE ALRM TERM
 
 if ! "$SAVE" >"$TMPFILE"; then
@@ -257,13 +257,13 @@ esac
 # Prompt user for confirmation
 echo -n "Can you establish NEW connections to the machine? (y/N) "
 
-read -n1 -t "$TIMEOUT" ret 2>&1 || :
+read -r -n1 -t "$TIMEOUT" ret 2>&1 || :
 case "${ret:-}" in
        (y*|Y*)
                # Success
                echo
 
-               if [ ! -z "$SAVEFILE" ]; then
+               if [ -n "$SAVEFILE" ]; then
                        # Write successfully applied rules to the savefile
                        echo "Writing successfully applied rules to '$SAVEFILE'..."
                        if ! "$SAVE" >"$SAVEFILE"; then