DF-0487 / fix.diff
diff --git a/sys/netinet/tcp_syncache.c b/sys/netinet/tcp_syncache.c --- a/sys/netinet/tcp_syncache.c +++ b/sys/netinet/tcp_syncache.c @@ -1100,7 +1100,7 @@ if (tcp_do_sack && (to->to_flags & TOF_SACK_PERMITTED)) sc->sc_flags |= SCF_SACK_PERMITTED; if (tp->t_flags & TF_NOOPT) - sc->sc_flags = SCF_NOOPT; + sc->sc_flags |= SCF_NOOPT; #ifdef TCP_SIGNATURE /* * If listening socket requested TCP digests, and received SYN @@ -1110,7 +1110,7 @@ * attempt to use it in syncache_respond(). */ if (to->to_flags & TOF_SIGNATURE) - sc->sc_flags = SCF_SIGNATURE; + sc->sc_flags |= SCF_SIGNATURE; #endif /* TCP_SIGNATURE */ sc->sc_sndwnd = th->th_win; |