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
This commit is contained in:
silby 2003-01-29 03:49:49 +00:00
parent 74832facd0
commit fb29f6f847

View File

@ -931,6 +931,8 @@ syncache_add(inc, to, th, sop, m)
sc->sc_route.ro_rt = NULL; sc->sc_route.ro_rt = NULL;
} }
sc->sc_irs = th->th_seq; 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) if (tcp_syncookies)
sc->sc_iss = syncookie_generate(sc); sc->sc_iss = syncookie_generate(sc);
else else
@ -942,8 +944,6 @@ syncache_add(inc, to, th, sop, m)
win = imin(win, TCP_MAXWIN); win = imin(win, TCP_MAXWIN);
sc->sc_wnd = win; 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) { if (tcp_do_rfc1323) {
/* /*
* A timestamp received in a SYN makes * A timestamp received in a SYN makes