From b19e045895ed95aebaba81ada09f2d0177439f24 Mon Sep 17 00:00:00 2001 From: silby Date: Wed, 29 Jan 2003 03:49:49 +0000 Subject: Fix a bug with syncookies; previously, the syncache's MSS size was not initialized until after a syncookie was generated. As a result, all connections resulting from a returned cookie would end up using a MSS of ~512 bytes. Now larger packets will be used where possible. MFC after: 5 days --- sys/netinet/tcp_syncache.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'sys/netinet/tcp_syncache.c') diff --git a/sys/netinet/tcp_syncache.c b/sys/netinet/tcp_syncache.c index 798c379..ba13efa 100644 --- a/sys/netinet/tcp_syncache.c +++ b/sys/netinet/tcp_syncache.c @@ -931,6 +931,8 @@ syncache_add(inc, to, th, sop, m) sc->sc_route.ro_rt = NULL; } sc->sc_irs = th->th_seq; + sc->sc_flags = 0; + sc->sc_peer_mss = to->to_flags & TOF_MSS ? to->to_mss : 0; if (tcp_syncookies) sc->sc_iss = syncookie_generate(sc); else @@ -942,8 +944,6 @@ syncache_add(inc, to, th, sop, m) win = imin(win, TCP_MAXWIN); sc->sc_wnd = win; - sc->sc_flags = 0; - sc->sc_peer_mss = to->to_flags & TOF_MSS ? to->to_mss : 0; if (tcp_do_rfc1323) { /* * A timestamp received in a SYN makes -- cgit v1.1