From a5d127b53534e3246b76d5cbb23d1d3e55be759c Mon Sep 17 00:00:00 2001 From: "/C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=kaber/emailAddress=kaber@netfilter.org" Date: Sat, 2 Dec 2006 17:17:33 +0000 Subject: Fix iptables-save not printing -s !0/0 and -d !0/0 as well as ip6tables unnecessarily printing the address. Base on patch by Daniel De Graaf. --- ip6tables-save.c | 2 +- iptables-save.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ip6tables-save.c b/ip6tables-save.c index 37b1f19..486c522 100644 --- a/ip6tables-save.c +++ b/ip6tables-save.c @@ -125,7 +125,7 @@ static void print_ip(char *prefix, const struct in6_addr *ip, const struct in6_a char buf[51]; int l = ipv6_prefix_length(mask); - if (!mask && !ip) + if (l == 0 && !invert) return; printf("%s %s%s", diff --git a/iptables-save.c b/iptables-save.c index 79b5dc7..ee18918 100644 --- a/iptables-save.c +++ b/iptables-save.c @@ -141,7 +141,7 @@ static int print_match(const struct ipt_entry_match *e, /* print a given ip including mask if neccessary */ static void print_ip(char *prefix, u_int32_t ip, u_int32_t mask, int invert) { - if (!mask && !ip) + if (!mask && !ip && !invert) return; printf("%s %s%u.%u.%u.%u", -- cgit v1.2.3