Disable rfc1323 and rfc1644 TCP extensions if we havn't got
any response to our third SYN to work-around some broken terminal servers (most of which have hopefully been retired) that have bad VJ header compression code which trashes TCP segments containing unknown-to-them TCP options. PR: kern/1689 Submitted by: jesper Reviewed by: wollman MFC after: 2 weeks
This commit is contained in:
parent
80cbb3c13a
commit
7ceb778366
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=77539
@ -387,6 +387,15 @@ tcp_timer_rexmt(xtp)
|
||||
rexmt = TCP_REXMTVAL(tp) * tcp_backoff[tp->t_rxtshift];
|
||||
TCPT_RANGESET(tp->t_rxtcur, rexmt,
|
||||
tp->t_rttmin, TCPTV_REXMTMAX);
|
||||
/*
|
||||
* Disable rfc1323 and rfc1644 if we havn't got any response to
|
||||
* our third SYN to work-around some broken terminal servers
|
||||
* (most of which have hopefully been retired) that have bad VJ
|
||||
* header compression code which trashes TCP segments containing
|
||||
* unknown-to-them TCP options.
|
||||
*/
|
||||
if ((tp->t_state == TCPS_SYN_SENT) && (tp->t_rxtshift == 3))
|
||||
tp->t_flags &= ~(TF_REQ_SCALE|TF_REQ_TSTMP|TF_REQ_CC);
|
||||
/*
|
||||
* If losing, let the lower level know and try for
|
||||
* a better route. Also, if we backed off this far,
|
||||
|
Loading…
Reference in New Issue
Block a user