diff options
author | kris <kris@FreeBSD.org> | 2001-04-17 18:08:01 +0000 |
---|---|---|
committer | kris <kris@FreeBSD.org> | 2001-04-17 18:08:01 +0000 |
commit | 0c55f2e6dacc3fca03b8d4e465a97fd20e434ca9 (patch) | |
tree | 230f443ebef085afc2464c22248d77ec8f649434 /sys/netinet/tcp_usrreq.c | |
parent | f2fbc423a1ad683d0efe728a88f7c66adff62fef (diff) | |
download | FreeBSD-src-0c55f2e6dacc3fca03b8d4e465a97fd20e434ca9.zip FreeBSD-src-0c55f2e6dacc3fca03b8d4e465a97fd20e434ca9.tar.gz |
Randomize the TCP initial sequence numbers more thoroughly.
Obtained from: OpenBSD
Reviewed by: jesper, peter, -developers
Diffstat (limited to 'sys/netinet/tcp_usrreq.c')
-rw-r--r-- | sys/netinet/tcp_usrreq.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/sys/netinet/tcp_usrreq.c b/sys/netinet/tcp_usrreq.c index ecd84a9..07e1b90 100644 --- a/sys/netinet/tcp_usrreq.c +++ b/sys/netinet/tcp_usrreq.c @@ -761,7 +761,12 @@ tcp_connect(tp, nam, p) tcpstat.tcps_connattempt++; tp->t_state = TCPS_SYN_SENT; callout_reset(tp->tt_keep, tcp_keepinit, tcp_timer_keep, tp); - tp->iss = tcp_iss; tcp_iss += TCP_ISSINCR/2; +#ifdef TCP_COMPAT_42 + tp->iss = tcp_iss; + tcp_iss += TCP_ISSINCR/2; +#else /* TCP_COMPAT_42 */ + tp->iss = tcp_rndiss_next(); +#endif /* !TCP_COMPAT_42 */ tcp_sendseqinit(tp); /* @@ -853,7 +858,11 @@ tcp6_connect(tp, nam, p) tcpstat.tcps_connattempt++; tp->t_state = TCPS_SYN_SENT; callout_reset(tp->tt_keep, tcp_keepinit, tcp_timer_keep, tp); +#ifdef TCP_COMPAT_42 tp->iss = tcp_iss; tcp_iss += TCP_ISSINCR/2; +#else + tp->iss = tcp_rndiss_next(); +#endif /* TCP_COMPAT_42 */ tcp_sendseqinit(tp); /* |