iptables: fix standard target
This regression was added by:
commit cd2f9bdbb7f9b737e5d640aafeb78bcd8e3a7adf
Author: Jan Engelhardt <jengelh@inai.de>
Date: Tue Sep 4 05:24:47 2012 +0200
iptables: support for target aliase
The result is that:
iptables -I INPUT -j ACCEPT
says:
iptables: No chain/target/match by that name.
This also breaks iptables-restore, of course. Jan, you'll have to explain me
how you have tested this.
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
diff --git a/iptables/ip6tables.c b/iptables/ip6tables.c
index 3661216..faddb71 100644
--- a/iptables/ip6tables.c
+++ b/iptables/ip6tables.c
@@ -1286,7 +1286,10 @@
cs->target->t = xtables_calloc(1, size);
cs->target->t->u.target_size = size;
- strcpy(cs->target->t->u.user.name, cs->target->real_name);
+ if (cs->target->real_name != NULL)
+ strcpy(cs->target->t->u.user.name, cs->jumpto);
+ else
+ strcpy(cs->target->t->u.user.name, cs->target->real_name);
cs->target->t->u.user.revision = cs->target->revision;
if (cs->target->real_name != cs->target->name)
fprintf(stderr, "WARNING: The %s target is obsolete. "
diff --git a/iptables/iptables.c b/iptables/iptables.c
index e935f65..96cea64 100644
--- a/iptables/iptables.c
+++ b/iptables/iptables.c
@@ -1295,7 +1295,10 @@
cs->target->t = xtables_calloc(1, size);
cs->target->t->u.target_size = size;
- strcpy(cs->target->t->u.user.name, cs->target->real_name);
+ if (cs->target->real_name != NULL)
+ strcpy(cs->target->t->u.user.name, cs->jumpto);
+ else
+ strcpy(cs->target->t->u.user.name, cs->target->real_name);
cs->target->t->u.user.revision = cs->target->revision;
if (cs->target->real_name != cs->target->name)
/* Alias support for userspace side */