summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2017-10-04 05:04:33 +0200
committercinap_lenrek <cinap_lenrek@felloff.net>2017-10-04 05:04:33 +0200
commitb12763136e0169485da2a910127cea27353dd17b (patch)
tree39a9022e48d1ee0e5c30fa8ce1e76cad62b6fb48
parentc11a3bb3b1e2713b1f48fd7df8ead818f62cf4ac (diff)
downloadplan9front-b12763136e0169485da2a910127cea27353dd17b.tar.xz
ndb/cs: icmp only supports version 4 addresses, icmpv6 only version 6 addresses
-rw-r--r--sys/src/cmd/ndb/cs.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/sys/src/cmd/ndb/cs.c b/sys/src/cmd/ndb/cs.c
index 432008848..a573bc674 100644
--- a/sys/src/cmd/ndb/cs.c
+++ b/sys/src/cmd/ndb/cs.c
@@ -1525,8 +1525,12 @@ iptrans(Ndbtuple *t, Network *np, char *serv, char *rem, int hack)
snprint(reply, sizeof(reply), "%s/%s/clone %s%s",
mntpt, np->net, ts, x);
else {
- /* il only supports ipv4 addresses */
- if(strcmp(np->net, "il") == 0 && !isv4str(t->val))
+ /* il and icmp only supports ipv4 addresses */
+ if((strcmp(np->net, "il") == 0 || strcmp(np->net, "icmp") == 0) && !isv4str(t->val))
+ return nil;
+
+ /* icmpv6 does not support ipv4 addresses */
+ if(strcmp(np->net, "icmpv6") == 0 && isv4str(t->val))
return nil;
snprint(reply, sizeof(reply), "%s/%s/clone %s!%s%s%s",