diff options
author | andre <andre@FreeBSD.org> | 2005-04-21 12:37:12 +0000 |
---|---|---|
committer | andre <andre@FreeBSD.org> | 2005-04-21 12:37:12 +0000 |
commit | 34a84acceeef772a5b9acdda87fdf6cc6581e62d (patch) | |
tree | 7b9a0e3c485902d0bc77850e4bcc3582acddb4c4 /sys/netinet/tcp_output.c | |
parent | 50df456889d520f12a65d284becf49069ee5aa76 (diff) | |
download | FreeBSD-src-34a84acceeef772a5b9acdda87fdf6cc6581e62d.zip FreeBSD-src-34a84acceeef772a5b9acdda87fdf6cc6581e62d.tar.gz |
Ignore ICMP Source Quench messages for TCP sessions. Source Quench is
ineffective, depreciated and can be abused to degrade the performance
of active TCP sessions if spoofed.
Replace a bogus call to tcp_quench() in tcp_output() with the direct
equivalent tcpcb variable assignment.
Security: draft-gont-tcpm-icmp-attacks-03.txt Section 7.1
MFC after: 3 days
Diffstat (limited to 'sys/netinet/tcp_output.c')
-rw-r--r-- | sys/netinet/tcp_output.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/netinet/tcp_output.c b/sys/netinet/tcp_output.c index fce9c9c..37a4ef1 100644 --- a/sys/netinet/tcp_output.c +++ b/sys/netinet/tcp_output.c @@ -1066,7 +1066,7 @@ out: !callout_active(tp->tt_persist)) callout_reset(tp->tt_rexmt, tp->t_rxtcur, tcp_timer_rexmt, tp); - tcp_quench(tp->t_inpcb, 0); + tp->snd_cwnd = tp->t_maxseg; return (0); } if (error == EMSGSIZE) { |