Re: [quicwg/base-drafts] Stop requiring remote address to match during path validation (#2637)

Martin Thomson <> Wed, 24 April 2019 03:43 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id AFCFA1202B0 for <>; Tue, 23 Apr 2019 20:43:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -8.002
X-Spam-Status: No, score=-8.002 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, MAILING_LIST_MULTI=-1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id ehQJb_6PKC-6 for <>; Tue, 23 Apr 2019 20:43:00 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 6F83A1201A6 for <>; Tue, 23 Apr 2019 20:43:00 -0700 (PDT)
Date: Tue, 23 Apr 2019 20:42:59 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=pf2014; t=1556077379; bh=ss+r5XssIPZVmNTvREIpjSPtxzvfXot2t8PCA5SEIRo=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=ypGc4oeJ/ICQro9XC2nD/F3fPI5mTOYfP38QsT9KlikUoKevjlK5SFrGDClVyxexP T8gdv/UwEqGXbPNlar+ftRQ0VJwuoLzCxgYZqokWkGAkFFCwDXJ+poPJNudxqxLlj+ ziWUFljFtjWgSMwdeacqs4F/Feq+wyq0muIJbo2Q=
From: Martin Thomson <>
Reply-To: quicwg/base-drafts <>
To: quicwg/base-drafts <>
Cc: Subscribed <>
Message-ID: <quicwg/base-drafts/pull/2637/review/>
In-Reply-To: <quicwg/base-drafts/pull/>
References: <quicwg/base-drafts/pull/>
Subject: Re: [quicwg/base-drafts] Stop requiring remote address to match during path validation (#2637)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5cbfdb437fc02_60163fde258cd960596698"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: martinthomson
X-GitHub-Recipient: quic-issues
X-GitHub-Reason: subscribed
X-Auto-Response-Suppress: All
Archived-At: <>
X-Mailman-Version: 2.1.29
List-Id: Notification list for GitHub issues related to the QUIC WG <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Wed, 24 Apr 2019 03:43:03 -0000

martinthomson requested changes on this pull request.

> @@ -1762,9 +1756,9 @@ initiated while a path validation on the old path is in progress.
 # Connection Migration {#migration}
 The use of a connection ID allows connections to survive changes to endpoint
-addresses (that is, IP address and/or port), such as those caused by an endpoint
-migrating to a new network.  This section describes the process by which an
-endpoint migrates to a new address.
+addresses (the two-tuple of IP address and port), such as those caused by an

addresses (IP address and port), such as those caused by an

For some, this is a three-tuple, if you include the address family.

> @@ -1714,12 +1714,6 @@ meets the following criteria:
   acknowledgment for a packet containing a PATH_CHALLENGE frame is not adequate
   validation, since the acknowledgment can be spoofed by a malicious peer.
-- It was sent from the same remote address to which the corresponding
-  PATH_CHALLENGE was sent. If a PATH_RESPONSE frame is received from a different
-  remote address than the one to which the PATH_CHALLENGE was sent, path
-  validation is considered to have failed, even if the data matches that sent in
 - It was received on the same local address from which the corresponding
   PATH_CHALLENGE was sent.

I think that we can remove this requirement also.  For the recipient, there is no requirement to have the packet that carries a PATH_RESPONSE travel on any particular path.

What you need to have here is a much clearer split in the requirements: the responder MUST send a PATH_RESPONSE on the same path that it got the PATH_CHALLENGE on, but the initiator MUST accept a PATH_CHALLENGE that arrives on any path.  I think that you need a paragraph explaining that split and why it exists.

You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub: