View | Details | Raw Unified | Return to bug 216832
Collapse All | Expand All

(-)tcp_input.c (-18 / +19 lines)
Lines 1557-1580 Link Here
1557
		if (TSTMP_GT(to.to_tsecr, tcp_ts_getticks()))
1557
		if (TSTMP_GT(to.to_tsecr, tcp_ts_getticks()))
1558
			to.to_tsecr = 0;
1558
			to.to_tsecr = 0;
1559
	}
1559
	}
1560
	/*
1561
	 * If timestamps were negotiated during SYN/ACK they should
1562
	 * appear on every segment during this session and vice versa.
1563
	 */
1564
	if ((tp->t_flags & TF_RCVD_TSTMP) && !(to.to_flags & TOF_TS)) {
1565
		if ((s = tcp_log_addrs(inc, th, NULL, NULL))) {
1566
			log(LOG_DEBUG, "%s; %s: Timestamp missing, "
1567
			    "no action\n", s, __func__);
1568
			free(s, M_TCPLOG);
1569
		}
1570
	}
1571
	if (!(tp->t_flags & TF_RCVD_TSTMP) && (to.to_flags & TOF_TS)) {
1572
		if ((s = tcp_log_addrs(inc, th, NULL, NULL))) {
1573
			log(LOG_DEBUG, "%s; %s: Timestamp not expected, "
1574
			    "no action\n", s, __func__);
1575
			free(s, M_TCPLOG);
1576
		}
1577
	}
1578
1560
1579
	/*
1561
	/*
1580
	 * Process options only when we get SYN/ACK back. The SYN case
1562
	 * Process options only when we get SYN/ACK back. The SYN case
Lines 1607-1612 Link Here
1607
	}
1589
	}
1608
1590
1609
	/*
1591
	/*
1592
	 * If timestamps were negotiated during SYN/ACK they should
1593
	 * appear on every segment during this session and vice versa.
1594
	 */
1595
	if ((tp->t_flags & TF_RCVD_TSTMP) && !(to.to_flags & TOF_TS)) {
1596
		if ((s = tcp_log_addrs(inc, th, NULL, NULL))) {
1597
			log(LOG_DEBUG, "%s; %s: Timestamp missing, "
1598
			    "no action\n", s, __func__);
1599
			free(s, M_TCPLOG);
1600
		}
1601
	}
1602
	if (!(tp->t_flags & TF_RCVD_TSTMP) && (to.to_flags & TOF_TS)) {
1603
		if ((s = tcp_log_addrs(inc, th, NULL, NULL))) {
1604
			log(LOG_DEBUG, "%s; %s: Timestamp not expected, "
1605
			    "no action\n", s, __func__);
1606
			free(s, M_TCPLOG);
1607
		}
1608
	}
1609
1610
	/*
1610
	 * Header prediction: check for the two common cases
1611
	 * Header prediction: check for the two common cases
1611
	 * of a uni-directional data xfer.  If the packet has
1612
	 * of a uni-directional data xfer.  If the packet has
1612
	 * no control flags, is in-sequence, the window didn't
1613
	 * no control flags, is in-sequence, the window didn't

Return to bug 216832