From 935f82e7dd4911fde6be9dae960fd1d438542a5d Mon Sep 17 00:00:00 2001 From: Phil Sutter Date: Mon, 19 Mar 2018 18:02:02 +0100 Subject: Support 'nft -f -' to read from stdin In libnftables, detect if given filename is '-' and treat it as the common way of requesting to read from stdin, then open /dev/stdin instead. (Calling 'nft -f /dev/stdin' worked before as well, but this makes it official.) With this in place and bash's support for here strings, review all tests in tests/shell for needless use of temp files. Note that two categories of test cases were intentionally left unchanged: - Tests creating potentially large rulesets to avoid running into shell parameter length limits. - Tests for 'include' directive for obvious reasons. Signed-off-by: Phil Sutter Signed-off-by: Pablo Neira Ayuso --- tests/shell/testcases/netns/0001nft-f_0 | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) (limited to 'tests/shell/testcases/netns/0001nft-f_0') diff --git a/tests/shell/testcases/netns/0001nft-f_0 b/tests/shell/testcases/netns/0001nft-f_0 index 43527523..a6c854d2 100755 --- a/tests/shell/testcases/netns/0001nft-f_0 +++ b/tests/shell/testcases/netns/0001nft-f_0 @@ -8,14 +8,6 @@ if [ ! -x "$IP" ] ; then exit 1 fi -tmpfile=$(mktemp) -if [ ! -w $tmpfile ] ; then - echo "Failed to create tmp file" >&2 - exit 0 -fi - -trap "rm -rf $tmpfile" EXIT # cleanup if aborted - RULESET="table ip t { set s { type ipv4_addr @@ -91,8 +83,7 @@ if [ $? -ne 0 ] ; then exit 1 fi -echo "$RULESET" > $tmpfile -$IP netns exec $NETNS_NAME $NFT -f $tmpfile +$IP netns exec $NETNS_NAME $NFT -f - <<< $RULESET if [ $? -ne 0 ] ; then echo "E: unable to load ruleset in netns" >&2 $IP netns del $NETNS_NAME -- cgit v1.2.3