diff options
author | Bret Lambert <blambert@cvs.openbsd.org> | 2011-04-29 06:28:22 +0000 |
---|---|---|
committer | Bret Lambert <blambert@cvs.openbsd.org> | 2011-04-29 06:28:22 +0000 |
commit | df6882044c27c4c0fdcf485f4cf5e49f5389b9e0 (patch) | |
tree | 2894d664fd46bbf956bc02ad6ff6d5f228f50d9d /sys | |
parent | a2863e62a17c77fcb058d5a9f42259bbecfba5bb (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.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; |