diff options
author | Phil Sutter <phil@nwl.cc> | 2018-03-19 18:02:02 +0100 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2018-03-20 13:05:43 +0100 |
commit | 935f82e7dd4911fde6be9dae960fd1d438542a5d (patch) | |
tree | 453d7db9f6663137d704e60c52f3b31b0140bf40 /src | |
parent | 4aba100e593f28105be300dc888935fad5dc822f (diff) |
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 <phil@nwl.cc>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src')
-rw-r--r-- | src/libnftables.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/libnftables.c b/src/libnftables.c index 9b2f65ae..6e271209 100644 --- a/src/libnftables.c +++ b/src/libnftables.c @@ -313,6 +313,9 @@ int nft_run_cmd_from_filename(struct nft_ctx *nft, const char *filename) if (rc < 0) return -1; + if (!strcmp(filename, "-")) + filename = "/dev/stdin"; + parser_init(nft->nf_sock, &nft->cache, &state, &msgs, nft->debug_mask, &nft->output); scanner = scanner_init(&state); |