From: Pablo Neira Ayuso Date: Sun, 7 Oct 2012 22:55:43 +0000 (+0200) Subject: iptables: fix standard target X-Git-Tag: v1.4.16.1~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2aaa7ec29059027756f076c4767b4fa034ebd166;p=thirdparty%2Fiptables.git iptables: fix standard target This regression was added by: commit cd2f9bdbb7f9b737e5d640aafeb78bcd8e3a7adf Author: Jan Engelhardt 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 --- diff --git a/iptables/ip6tables.c b/iptables/ip6tables.c index 36612161..faddb71b 100644 --- a/iptables/ip6tables.c +++ b/iptables/ip6tables.c @@ -1286,7 +1286,10 @@ static void command_jump(struct iptables_command_state *cs) 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 e935f651..96cea64d 100644 --- a/iptables/iptables.c +++ b/iptables/iptables.c @@ -1295,7 +1295,10 @@ static void command_jump(struct iptables_command_state *cs) 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 */