summaryrefslogtreecommitdiffstats
path: root/sys/netinet6/raw_ip6.c
diff options
context:
space:
mode:
authorclaudio <claudio@openbsd.org>2011-04-04 11:07:18 +0000
committerclaudio <claudio@openbsd.org>2011-04-04 11:07:18 +0000
commit8a4cdb973446f06ed260f7043d9cb3899d3301c5 (patch)
tree73988d0798bbc957b2e6147223d0d7a67d519b9e /sys/netinet6/raw_ip6.c
parentHit this code with a big hammer. It now works on the X201/T510 series (diff)
downloadwireguard-openbsd-8a4cdb973446f06ed260f7043d9cb3899d3301c5.tar.xz
wireguard-openbsd-8a4cdb973446f06ed260f7043d9cb3899d3301c5.zip
Add the same SS_CANTRCVMORE check as was done in the other input
functions. OK blambert@
Diffstat (limited to 'sys/netinet6/raw_ip6.c')
-rw-r--r--sys/netinet6/raw_ip6.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/netinet6/raw_ip6.c b/sys/netinet6/raw_ip6.c
index 03fcef73030..c40a77d171a 100644
--- a/sys/netinet6/raw_ip6.c
+++ b/sys/netinet6/raw_ip6.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: raw_ip6.c,v 1.40 2010/04/20 22:05:44 tedu Exp $ */
+/* $OpenBSD: raw_ip6.c,v 1.41 2011/04/04 11:07:18 claudio Exp $ */
/* $KAME: raw_ip6.c,v 1.69 2001/03/04 15:55:44 itojun Exp $ */
/*
@@ -179,6 +179,8 @@ rip6_input(struct mbuf **mp, int *offp, int proto)
(void)in6_recoverscope(&rip6src, &ip6->ip6_src, m->m_pkthdr.rcvif);
CIRCLEQ_FOREACH(in6p, &rawin6pcbtable.inpt_queue, inp_queue) {
+ if (in6p->in6p_socket->so_state & SS_CANTRCVMORE)
+ continue;
if (!(in6p->in6p_flags & INP_IPV6))
continue;
if (in6p->in6p_ip6.ip6_nxt &&