diff options
author | Martin Pieuchot <mpi@cvs.openbsd.org> | 2015-03-04 11:10:56 +0000 |
---|---|---|
committer | Martin Pieuchot <mpi@cvs.openbsd.org> | 2015-03-04 11:10:56 +0000 |
commit | 3a3bb405c333a0ac10968aa7491e22566dcd0b75 (patch) | |
tree | 9161810dca6a17c78f3ed25ea2a4f112b791413b /sys/netinet6/raw_ip6.c | |
parent | d78287abc2616f506ae529027a59d3402f143d98 (diff) |
Do not check if the interface index matches the scope when all we want
is to clear the damn embedded scope.
At this point the receiving interface should not matter and will in the
future be cleared to prevent such layer violations.
This prevent exporting addresses with embedded scope to userland.
Found the hardway by and ok florian@
Diffstat (limited to 'sys/netinet6/raw_ip6.c')
-rw-r--r-- | sys/netinet6/raw_ip6.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/netinet6/raw_ip6.c b/sys/netinet6/raw_ip6.c index 015975a5d65..00f0bf52257 100644 --- a/sys/netinet6/raw_ip6.c +++ b/sys/netinet6/raw_ip6.c @@ -1,4 +1,4 @@ -/* $OpenBSD: raw_ip6.c,v 1.72 2015/01/24 00:29:06 deraadt Exp $ */ +/* $OpenBSD: raw_ip6.c,v 1.73 2015/03/04 11:10:55 mpi Exp $ */ /* $KAME: raw_ip6.c,v 1.69 2001/03/04 15:55:44 itojun Exp $ */ /* @@ -145,7 +145,7 @@ rip6_input(struct mbuf **mp, int *offp, int proto) rip6src.sin6_len = sizeof(struct sockaddr_in6); rip6src.sin6_family = AF_INET6; /* KAME hack: recover scopeid */ - (void)in6_recoverscope(&rip6src, &ip6->ip6_src, m->m_pkthdr.rcvif); + (void)in6_recoverscope(&rip6src, &ip6->ip6_src, NULL); TAILQ_FOREACH(in6p, &rawin6pcbtable.inpt_queue, inp_queue) { if (in6p->inp_socket->so_state & SS_CANTRCVMORE) |