summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--iptables-save.c2
-rw-r--r--iptables.c3
2 files changed, 4 insertions, 1 deletions
diff --git a/iptables-save.c b/iptables-save.c
index 6c7267e..4f6f156 100644
--- a/iptables-save.c
+++ b/iptables-save.c
@@ -197,7 +197,7 @@ static void print_rule(const struct ipt_entry *e,
/* Print target name */
target_name = iptc_get_target(e, h);
if (target_name && (*target_name != '\0'))
- printf("-j %s ", target_name);
+ printf("-%c %s ", e->ip.flags & IPT_F_GOTO ? 'g' : 'j', target_name);
/* Print targinfo part */
t = ipt_get_target((struct ipt_entry *)e);
diff --git a/iptables.c b/iptables.c
index 27c5cfa..cfea34f 100644
--- a/iptables.c
+++ b/iptables.c
@@ -1393,6 +1393,9 @@ print_firewall(const struct ipt_entry *fw,
if (format & FMT_NOTABLE)
fputs(" ", stdout);
+ if(fw->ip.flags & IPT_F_GOTO)
+ printf("[goto] ");
+
IPT_MATCH_ITERATE(fw, print_match, &fw->ip, format & FMT_NUMERIC);
if (target) {