From 3531d7cc07d8121bcfd5379978d4d40c489c6dd5 Mon Sep 17 00:00:00 2001 From: Phil Sutter Date: Fri, 25 Nov 2016 18:06:46 +0100 Subject: xtables-translate: Support setting standard chain policy Looks like this bit was simply forgotten when implementing xlate_chain_set() as everything needed was there to just print the desired policy along with the chain definition. Signed-off-by: Phil Sutter Signed-off-by: Pablo Neira Ayuso --- iptables/xtables-translate.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'iptables') diff --git a/iptables/xtables-translate.c b/iptables/xtables-translate.c index 689533f3..0c706dcc 100644 --- a/iptables/xtables-translate.c +++ b/iptables/xtables-translate.c @@ -354,16 +354,22 @@ static int xlate_chain_set(struct nft_handle *h, const char *table, { printf("add chain %s %s %s ", family2str[h->family], table, chain); if (strcmp(chain, "PREROUTING") == 0) - printf("{ type filter hook prerouting priority 0; }\n"); + printf("{ type filter hook prerouting priority 0; "); else if (strcmp(chain, "INPUT") == 0) - printf("{ type filter hook input priority 0; }\n"); + printf("{ type filter hook input priority 0; "); else if (strcmp(chain, "FORWARD") == 0) - printf("{ type filter hook forward priority 0; }\n"); + printf("{ type filter hook forward priority 0; "); else if (strcmp(chain, "OUTPUT") == 0) - printf("{ type filter hook output priority 0; }\n"); + printf("{ type filter hook output priority 0; "); else if (strcmp(chain, "POSTROUTING") == 0) - printf("{ type filter hook postrouting priority 0; }\n"); + printf("{ type filter hook postrouting priority 0; "); + if (strcmp(policy, "ACCEPT") == 0) + printf("policy accept; "); + else if (strcmp(policy, "DROP") == 0) + printf("policy drop; "); + + printf("}\n"); return 1; } -- cgit v1.2.3