diff options
author | silby <silby@FreeBSD.org> | 2007-11-20 06:56:04 +0000 |
---|---|---|
committer | silby <silby@FreeBSD.org> | 2007-11-20 06:56:04 +0000 |
commit | 99338940b2f6bc2ef3d6cdd677dc7fe21b200ca4 (patch) | |
tree | 6c49e2354691f160a707b21e74f71a2579cae92a /sys | |
parent | f568d666e943c1e7003b12a5356f171b8aef0b33 (diff) | |
download | FreeBSD-src-99338940b2f6bc2ef3d6cdd677dc7fe21b200ca4.zip FreeBSD-src-99338940b2f6bc2ef3d6cdd677dc7fe21b200ca4.tar.gz |
Comment out the syncache's test which ensures that hosts which negotiate TCP
timestamps in the initial SYN packet actually use them in the rest of the
connection. Unfortunately, during the 7.0 testing cycle users have already
found network devices that violate this constraint.
RFC 1323 states 'and may send a TSopt in other segments' rather than
'and MUST send', so we must allow it.
Discovered by: Rob Zietlow
Tracked down by: Kip Macy
PR: bin/118005
Diffstat (limited to 'sys')
-rw-r--r-- | sys/netinet/tcp_syncache.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/sys/netinet/tcp_syncache.c b/sys/netinet/tcp_syncache.c index 738d8e7..0ff8632 100644 --- a/sys/netinet/tcp_syncache.c +++ b/sys/netinet/tcp_syncache.c @@ -887,10 +887,15 @@ syncache_expand(struct in_conninfo *inc, struct tcpopt *to, struct tcphdr *th, "rejected\n", s, __func__, th->th_seq, sc->sc_irs); goto failed; } +#if 0 /* * If timestamps were present in the SYN and we accepted * them in our SYN|ACK we require them to be present from * now on. And vice versa. + * + * Unfortunately, during testing of 7.0 some users found + * network devices that violate this constraint, so it must + * be disabled. */ if ((sc->sc_flags & SCF_TIMESTAMP) && !(to->to_flags & TOF_TS)) { if ((s = tcp_log_addrs(inc, th, NULL, NULL))) @@ -898,6 +903,7 @@ syncache_expand(struct in_conninfo *inc, struct tcpopt *to, struct tcphdr *th, "segment rejected\n", s, __func__); goto failed; } +#endif if (!(sc->sc_flags & SCF_TIMESTAMP) && (to->to_flags & TOF_TS)) { if ((s = tcp_log_addrs(inc, th, NULL, NULL))) log(LOG_DEBUG, "%s; %s: Timestamp not expected, " |