summaryrefslogtreecommitdiff
path: root/usr/src
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src')
-rw-r--r--usr/src/cmd/ipf/lib/common/print_toif.c2
-rw-r--r--usr/src/cmd/ipf/lib/common/printnat.c4
-rw-r--r--usr/src/cmd/ipf/tools/ipnat_y.y7
3 files changed, 11 insertions, 2 deletions
diff --git a/usr/src/cmd/ipf/lib/common/print_toif.c b/usr/src/cmd/ipf/lib/common/print_toif.c
index fc57a302e8..54916520c5 100644
--- a/usr/src/cmd/ipf/lib/common/print_toif.c
+++ b/usr/src/cmd/ipf/lib/common/print_toif.c
@@ -28,7 +28,7 @@ frdest_t *fdp;
char ipv6addr[INET6_ADDRSTRLEN];
inet_ntop(AF_INET6, &fdp->fd_ip6, ipv6addr,
- sizeof(fdp->fd_ip6));
+ sizeof(ipv6addr));
printf(":%s", ipv6addr);
} else
#endif
diff --git a/usr/src/cmd/ipf/lib/common/printnat.c b/usr/src/cmd/ipf/lib/common/printnat.c
index 0e228652fa..521d057f1e 100644
--- a/usr/src/cmd/ipf/lib/common/printnat.c
+++ b/usr/src/cmd/ipf/lib/common/printnat.c
@@ -103,6 +103,10 @@ int opts;
printf(" -> %s", inet_ntoa(np->in_in[0].in4));
if (np->in_flags & IPN_SPLIT)
printf(",%s", inet_ntoa(np->in_in[1].in4));
+ if (np->in_inip == 0) {
+ bits = count4bits(np->in_inmsk);
+ printf("/%d", bits);
+ }
if (np->in_flags & IPN_TCPUDP) {
if ((np->in_flags & IPN_FIXEDDPORT) != 0)
printf(" port = %d", ntohs(np->in_pnext));
diff --git a/usr/src/cmd/ipf/tools/ipnat_y.y b/usr/src/cmd/ipf/tools/ipnat_y.y
index b4fb1cbe63..48ca425c4f 100644
--- a/usr/src/cmd/ipf/tools/ipnat_y.y
+++ b/usr/src/cmd/ipf/tools/ipnat_y.y
@@ -316,6 +316,11 @@ rhaddr: addr { $$.a = $1.a; $$.m = $1.m; }
dip:
hostname { nat->in_inip = $1.s_addr;
nat->in_inmsk = 0xffffffff; }
+ | hostname '/' YY_NUMBER { nat->in_inip = $1.s_addr;
+ if (nat->in_inip != 0 ||
+ ($3 != 0 && $3 != 32))
+ yyerror("Invalid mask for dip");
+ ntomask(4, $3, &nat->in_inmsk); }
| hostname ',' hostname { nat->in_flags |= IPN_SPLIT;
nat->in_inip = $1.s_addr;
nat->in_inmsk = $3.s_addr; }
@@ -481,7 +486,7 @@ nummask:
portstuff:
compare portspec { $$.pc = $1; $$.p1 = $2; }
- | portspec range portspec { $$.pc = $2; $$.p1 = $1; $$.p1 = $3; }
+ | portspec range portspec { $$.pc = $2; $$.p1 = $1; $$.p2 = $3; }
;
mapoptions: