summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorBret Lambert <blambert@cvs.openbsd.org>2011-04-29 06:28:22 +0000
committerBret Lambert <blambert@cvs.openbsd.org>2011-04-29 06:28:22 +0000
commitdf6882044c27c4c0fdcf485f4cf5e49f5389b9e0 (patch)
tree2894d664fd46bbf956bc02ad6ff6d5f228f50d9d /sys
parenta2863e62a17c77fcb058d5a9f42259bbecfba5bb (diff)
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')
-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;