diff mbox

iptables-compat: homogenize error messages

Message ID 1414657916-21718-1-git-send-email-anarey@gmail.com
State Accepted
Delegated to: Pablo Neira
Headers show

Commit Message

Ana Rey Oct. 30, 2014, 8:31 a.m. UTC
There are some differences between error messages in iptables and
iptables-compat:

 # iptables -C INPUT -s 192.168.2.102 -j ACCEPT
iptables: Bad rule (does a matching rule exist in that chain?).
 # iptables-compat -C INPUT -s 192.168.2.102 -j ACCEPT
iptables: No chain/target/match by that name.

 # iptables -N new_chain
 # iptables -N new_chain
iptables: Chain already exists.
 # iptables-compat -N new_chain
 # iptables-compat -N new_chain
iptables: File exists.

Now, iptables-compat shows the same error messages than iptables in
those cases.

Signed-off-by: Ana Rey <anarey@gmail.com>
---
 iptables/nft.c |    4 ++++
 1 file changed, 4 insertions(+)

Comments

Pablo Neira Ayuso Oct. 30, 2014, 5:11 p.m. UTC | #1
On Thu, Oct 30, 2014 at 09:31:56AM +0100, Ana Rey wrote:
> There are some differences between error messages in iptables and
> iptables-compat:
> 
>  # iptables -C INPUT -s 192.168.2.102 -j ACCEPT
> iptables: Bad rule (does a matching rule exist in that chain?).
>  # iptables-compat -C INPUT -s 192.168.2.102 -j ACCEPT
> iptables: No chain/target/match by that name.
> 
>  # iptables -N new_chain
>  # iptables -N new_chain
> iptables: Chain already exists.
>  # iptables-compat -N new_chain
>  # iptables-compat -N new_chain
> iptables: File exists.
> 
> Now, iptables-compat shows the same error messages than iptables in
> those cases.

Applied, thanks Ana.
--
To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/iptables/nft.c b/iptables/nft.c
index ac72bfa..1a2c438 100644
--- a/iptables/nft.c
+++ b/iptables/nft.c
@@ -1298,6 +1298,8 @@  int nft_chain_user_add(struct nft_handle *h, const char *chain, const char *tabl
 	struct nft_chain *c;
 	int ret;
 
+	nft_fn = nft_chain_user_add;
+
 	/* If built-in chains don't exist for this table, create them */
 	if (nft_xtables_config_load(h, XTABLES_CONFIG_DEFAULT, 0) < 0)
 		nft_xt_builtin_init(h, table);
@@ -2344,10 +2346,12 @@  const char *nft_strerror(int err)
 	  {
 	    { nft_chain_user_del, ENOTEMPTY, "Chain is not empty" },
 	    { nft_chain_user_del, EINVAL, "Can't delete built-in chain" },
+	    { nft_chain_user_del, EBUSY, "Directory not empty" },
 	    { nft_chain_user_del, EMLINK,
 	      "Can't delete chain with references left" },
 	    { nft_chain_user_add, EEXIST, "Chain already exists" },
 	    { nft_rule_add, E2BIG, "Index of insertion too big" },
+	    { nft_rule_check, ENOENT, "Bad rule (does a matching rule exist in that chain?)" },
 	    { nft_rule_replace, E2BIG, "Index of replacement too big" },
 	    { nft_rule_delete_num, E2BIG, "Index of deletion too big" },
 /*	    { TC_READ_COUNTER, E2BIG, "Index of counter too big" },