summaryrefslogtreecommitdiffstats
path: root/sys/netinet/tcp_input.c
diff options
context:
space:
mode:
authorblambert <blambert@openbsd.org>2011-04-29 06:28:21 +0000
committerblambert <blambert@openbsd.org>2011-04-29 06:28:21 +0000
commit7b6efcc2697afafd83b6d35689cd5aa06c149776 (patch)
tree7446acb1b8181814f10aa7b8106ed0785e6aa922 /sys/netinet/tcp_input.c
parentAdd currently undocumented keyboard options available on ifstat view. (diff)
downloadwireguard-openbsd-7b6efcc2697afafd83b6d35689cd5aa06c149776.tar.xz
wireguard-openbsd-7b6efcc2697afafd83b6d35689cd5aa06c149776.zip
In certain failure cases, a RST would be sent out on rdomain 0,
regardless of the rdomain the packet was received on. Explicitly pass the rdomain to the tcp_respond() monstrosity to compensate for said monstricism which led to this behavior. ok claudio@
Diffstat (limited to 'sys/netinet/tcp_input.c')
-rw-r--r--sys/netinet/tcp_input.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/netinet/tcp_input.c b/sys/netinet/tcp_input.c
index 60d4cd6385f..3c75cfa5bca 100644
--- a/sys/netinet/tcp_input.c
+++ b/sys/netinet/tcp_input.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: tcp_input.c,v 1.247 2011/04/28 09:56:27 claudio Exp $ */
+/* $OpenBSD: tcp_input.c,v 1.248 2011/04/29 06:28:21 blambert Exp $ */
/* $NetBSD: tcp_input.c,v 1.23 1996/02/13 23:43:44 christos Exp $ */
/*
@@ -2278,12 +2278,12 @@ dropwithreset:
goto drop;
if (tiflags & TH_ACK) {
tcp_respond(tp, mtod(m, caddr_t), th, (tcp_seq)0, th->th_ack,
- TH_RST, 0);
+ TH_RST, m->m_pkthdr.rdomain);
} else {
if (tiflags & TH_SYN)
tlen++;
tcp_respond(tp, mtod(m, caddr_t), th, th->th_seq + tlen,
- (tcp_seq)0, TH_RST|TH_ACK, 0);
+ (tcp_seq)0, TH_RST|TH_ACK, m->m_pkthdr.rdomain);
}
m_freem(m);
return;