summaryrefslogtreecommitdiffstats
path: root/sys/netinet/tcp_usrreq.c
diff options
context:
space:
mode:
authorkris <kris@FreeBSD.org>2001-04-17 18:08:01 +0000
committerkris <kris@FreeBSD.org>2001-04-17 18:08:01 +0000
commit0c55f2e6dacc3fca03b8d4e465a97fd20e434ca9 (patch)
tree230f443ebef085afc2464c22248d77ec8f649434 /sys/netinet/tcp_usrreq.c
parentf2fbc423a1ad683d0efe728a88f7c66adff62fef (diff)
downloadFreeBSD-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.c11
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);
/*
OpenPOWER on IntegriCloud