diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2017-10-04 05:04:33 +0200 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2017-10-04 05:04:33 +0200 |
commit | b12763136e0169485da2a910127cea27353dd17b (patch) | |
tree | 39a9022e48d1ee0e5c30fa8ce1e76cad62b6fb48 | |
parent | c11a3bb3b1e2713b1f48fd7df8ead818f62cf4ac (diff) | |
download | plan9front-b12763136e0169485da2a910127cea27353dd17b.tar.xz |
ndb/cs: icmp only supports version 4 addresses, icmpv6 only version 6 addresses
-rw-r--r-- | sys/src/cmd/ndb/cs.c | 8 |
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", |