diff options
author | 2011-04-29 06:28:21 +0000 | |
---|---|---|
committer | 2011-04-29 06:28:21 +0000 | |
commit | 7b6efcc2697afafd83b6d35689cd5aa06c149776 (patch) | |
tree | 7446acb1b8181814f10aa7b8106ed0785e6aa922 /sys/netinet/tcp_input.c | |
parent | Add currently undocumented keyboard options available on ifstat view. (diff) | |
download | wireguard-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.c | 6 |
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; |