summaryrefslogtreecommitdiffstats
path: root/contrib/ipfilter/lib/printnat.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/ipfilter/lib/printnat.c')
-rw-r--r--contrib/ipfilter/lib/printnat.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/contrib/ipfilter/lib/printnat.c b/contrib/ipfilter/lib/printnat.c
index da375d9..37666a2 100644
--- a/contrib/ipfilter/lib/printnat.c
+++ b/contrib/ipfilter/lib/printnat.c
@@ -11,7 +11,7 @@
#if !defined(lint)
-static const char rcsid[] = "@(#)$Id: printnat.c,v 1.22.2.13 2006/12/09 10:37:47 darrenr Exp $";
+static const char rcsid[] = "@(#)$Id: printnat.c,v 1.22.2.14 2007/09/06 16:40:11 darrenr Exp $";
#endif
/*
@@ -134,6 +134,8 @@ int opts;
if (opts & OPT_DEBUG)
printf("\tpmax %u\n", np->in_pmax);
} else {
+ int protoprinted = 0;
+
if (!(np->in_flags & IPN_FILTER)) {
printf("%s/", inet_ntoa(np->in_in[0].in4));
bits = count4bits(np->in_inmsk);
@@ -170,6 +172,7 @@ int opts;
printf(" %.*s/", (int)sizeof(np->in_plabel),
np->in_plabel);
printproto(pr, np->in_p, NULL);
+ protoprinted = 1;
} else if (np->in_redir == NAT_MAPBLK) {
if ((np->in_pmin == 0) &&
(np->in_flags & IPN_AUTOPORTMAP))
@@ -185,6 +188,7 @@ int opts;
printf(" portmap ");
}
printproto(pr, np->in_p, np);
+ protoprinted = 1;
if (np->in_flags & IPN_AUTOPORTMAP) {
printf(" auto");
if (opts & OPT_DEBUG)
@@ -196,9 +200,6 @@ int opts;
printf(" %d:%d", ntohs(np->in_pmin),
ntohs(np->in_pmax));
}
- } else if (np->in_flags & IPN_TCPUDP || np->in_p) {
- putchar(' ');
- printproto(pr, np->in_p, np);
}
if (np->in_flags & IPN_FRAG)
@@ -210,6 +211,10 @@ int opts;
printf(" mssclamp %d", np->in_mssclamp);
if (np->in_tag.ipt_tag[0] != '\0')
printf(" tag %s", np->in_tag.ipt_tag);
+ if (!protoprinted && (np->in_flags & IPN_TCPUDP || np->in_p)) {
+ putchar(' ');
+ printproto(pr, np->in_p, np);
+ }
printf("\n");
if (opts & OPT_DEBUG) {
struct in_addr nip;
OpenPOWER on IntegriCloud