Date: Mon, 28 Dec 2015 14:14:59 +0100 From: Oliver Pinter <oliver.pinter@hardenedbsd.org> To: Sam Kumar <samkumar99@gmail.com> Cc: "freebsd-current@freebsd.org" <freebsd-current@freebsd.org>, gnn@freebsd.org, hiren@freebsd.org Subject: Re: TCP Stack: Challenge ACKs and Timestamps Message-ID: <CAPQ4ffujZa4-zy0%2BeS-HYSR0B4B385L4ZY9aXLnZN=AoYR%2Bg8w@mail.gmail.com> In-Reply-To: <CAGtMfeD4B0X%2BUd2-UJ2rQTM_P52ONKqh4Ppct2prJf3=Tm3kXw@mail.gmail.com> References: <CAGtMfeD4B0X%2BUd2-UJ2rQTM_P52ONKqh4Ppct2prJf3=Tm3kXw@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Monday, December 28, 2015, Sam Kumar <samkumar99@gmail.com> wrote: > Hello, > I am working with the code for the TCP Stack. I noticed that support for > Challenge Acks have been added since the latest release (10.2.0), and I > think I may have found a bug in how they relate to TCP timestamps. All line > numbers below are those in commit e66e064c45687b5d294565dbd829b419848f7992. > > Looking at tcp_input.c, at lines 1594 to 1604, I see code that expects a > timestamp to be in every segment during the session, if they were > negotiated when the connection was being established. > ( > > https://github.com/freebsd/freebsd/blob/master/sys/netinet/tcp_input.c#L1595 > ) > > Looking at tcp_input.c, at lines 2161 and 2188, I see that Challenge ACKs > are sent via calls to tcp_respond(). > ( > > https://github.com/freebsd/freebsd/blob/master/sys/netinet/tcp_input.c#L2161 > and > > https://github.com/freebsd/freebsd/blob/master/sys/netinet/tcp_input.c#L2188 > ) > > Looking at tcp_subr.c, at line 978, I see that the segment sent by > tcp_respond() never contains TCP options. > ( > https://github.com/freebsd/freebsd/blob/master/sys/netinet/tcp_subr.c#L978 > ) > > Therefore, it seems to me that Challenge ACKs will never contain any TCP > options. This violates the condition that once timestamps are negotiated, > they must be present in every segment. > > Please let me know if I am mistaken, or if this is actually a bug. Cc hiren and gnn > > Sam Kumar > _______________________________________________ > freebsd-current@freebsd.org <javascript:;> mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org > <javascript:;>" >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAPQ4ffujZa4-zy0%2BeS-HYSR0B4B385L4ZY9aXLnZN=AoYR%2Bg8w>