From: Bill Fink <billfink@mindspring.com>
To: "Adam Langley" <agl@imperialviolet.org>
Cc: "David Miller" <davem@davemloft.net>, netdev@vger.kernel.org
Subject: Re: [PATCH] Fix corrupt TCP packets when options space overflows with MD5SIG enabled (v2)
Date: Wed, 18 Jun 2008 02:34:46 -0400 [thread overview]
Message-ID: <20080618023446.aba6516c.billfink@mindspring.com> (raw)
In-Reply-To: <396556a20806171745k63bb3516s5971593ecf216bc4@mail.gmail.com>
On Tue, 17 Jun 2008, Adam Langley wrote:
> On Tue, Jun 17, 2008 at 5:07 PM, David Miller <davem@davemloft.net> wrote:
> > The problematic case is when all 3 of tstamps, wscale, and md5 are
> > enabled. To be honest, tstamps are the least valuable of the 3. The
> > only way to accurately fill in gaps is to have at least some SACK
> > information, it is much harder to guestimate than RTTs.
>
> So, have a population of Linux hosts out there which will send corrupt
> packets when MD5+SACK is enabled. So we want to fix that problem all
> at once, hopefully.
>
> How's this:
>
> If we receive a SYN packet with MD5 + SACK + TS was assume that it's
> from an older kernel and reply with MD5 + TS. Not including SACK means
> that it won't send us corrupt packets and since we couldn't previously
> do SACK with these packets anyway, we're not loosing anything.
>
> However, by default we send MD5 + SACK. If we are talking to an old
> kernel, that means that they are sending corrupt packets if they have
> > 2 SACK blocks (the current logic limits them to 4 I believe).
> Hopefully this is pretty rare (and, again, better than we are
> currently doing). It also means that we have MD5 + SACK between new
> hosts, which is optimal.
I am not particularly familiar with the TCP MD5 option, but in googling
around I found the following at the end of Section 2.2 Transmission,
of RFC 4808, "TCP-MD5 Key Change", dated March 2007:
"Note that there is an ambiguity when an acknowledgment is received
for a segment transmitted with two different keys. The TCP Timestamp
option [RFC1323] can be used for disambiguation."
This would seem to imply, that at least in some scenarios, it would be
advisable to have TS enabled in conjunction with MD5.
-Bill
next prev parent reply other threads:[~2008-06-18 6:34 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-06-03 21:52 [PATCH] Fix corrupt TCP packets when options space overflows with MD5SIG enabled (v2) Adam Langley
2008-06-18 0:07 ` David Miller
2008-06-18 0:45 ` Adam Langley
2008-06-18 4:03 ` David Miller
2008-06-18 6:34 ` Bill Fink [this message]
2008-06-18 8:52 ` David Miller
2008-06-18 19:39 ` Adam Langley
2008-06-18 22:01 ` David Miller
2008-06-18 23:24 ` Comments requested: Long options and MD5 options Adam Langley
2008-06-18 23:36 ` David Miller
2008-06-20 20:27 ` [PATCH] Fix corrupt TCP packets when options space overflows with MD5SIG enabled (v2) Adam Langley
2008-06-28 2:47 ` David Miller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20080618023446.aba6516c.billfink@mindspring.com \
--to=billfink@mindspring.com \
--cc=agl@imperialviolet.org \
--cc=davem@davemloft.net \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).