summaryrefslogtreecommitdiff
path: root/sys/src
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2018-09-28 20:23:53 +0200
committercinap_lenrek <cinap_lenrek@felloff.net>2018-09-28 20:23:53 +0200
commit451b0c7976df9036ee84ad2e51f698dbe7562873 (patch)
treee6e47d4f5f8c5e4e1e07c2198651cc205d4ca904 /sys/src
parent9ee967663f9cec96ed9e9fd292657ed54eea47df (diff)
ip/ipconfig: silently ignore prefix information with Autonomous flag clear
Diffstat (limited to 'sys/src')
-rw-r--r--sys/src/cmd/ip/ipconfig/ipv6.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/src/cmd/ip/ipconfig/ipv6.c b/sys/src/cmd/ip/ipconfig/ipv6.c
index f7cff295a..dbd37d146 100644
--- a/sys/src/cmd/ip/ipconfig/ipv6.c
+++ b/sys/src/cmd/ip/ipconfig/ipv6.c
@@ -691,13 +691,16 @@ recvrahost(uchar buf[], int pktlen)
if(prfo->len != 4)
continue;
+ if((prfo->lar & AFMASK) == 0)
+ continue;
+
conf.prefixlen = prfo->plen & 127;
genipmkask(conf.mask, conf.prefixlen);
maskip(prfo->pref, conf.mask, conf.v6pref);
memmove(conf.laddr, conf.v6pref, 8);
memmove(conf.laddr+8, conf.lladdr+8, 8);
- conf.onlink = ((prfo->lar & OLMASK) != 0);
- conf.autoflag = ((prfo->lar & AFMASK) != 0);
+ conf.onlink = (prfo->lar & OLMASK) != 0;
+ conf.autoflag = (prfo->lar & AFMASK) != 0;
conf.validlt = nhgetl(prfo->validlt);
conf.preflt = nhgetl(prfo->preflt);