Re: [quicwg/base-drafts] Most the Retry-related fixes (#1788)

Martin Thomson <> Sun, 23 September 2018 16:17 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id E8994130DE3 for <>; Sun, 23 Sep 2018 09:17:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -8.009
X-Spam-Status: No, score=-8.009 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, 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, SPF_PASS=-0.001, T_DKIMWL_WL_HIGH=-0.01, URIBL_BLOCKED=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 BW-WvOKvIX18 for <>; Sun, 23 Sep 2018 09:17:09 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 34530130DC0 for <>; Sun, 23 Sep 2018 09:17:09 -0700 (PDT)
Date: Sun, 23 Sep 2018 09:17:07 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=pf2014; t=1537719427; bh=SF9fMoOihB5r5kCHBlZgdXCm5WUZ0nctNvvJBBrvdgA=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=t1ojar69Ac0D5Tw9rzSxPfjgeBQ+xF4mYNv10Rjxnl1MhtykM59nYtAC/Bpq6Jhbz 7IAMHzCzt+fBaqy+F3Fr2sR8fGXZN3TTs7zwDifuPe4mDC+lghByXFJKSPzPGS8aiP TZu5FlxJJHTc7YrqyPrmEjpxJdxyDuYSRgxY0L5o=
From: Martin Thomson <>
Reply-To: quicwg/base-drafts <>
To: quicwg/base-drafts <>
Cc: Subscribed <>
Message-ID: <quicwg/base-drafts/pull/1788/review/>
In-Reply-To: <quicwg/base-drafts/pull/>
References: <quicwg/base-drafts/pull/>
Subject: Re: [quicwg/base-drafts] Most the Retry-related fixes (#1788)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5ba7bc83e7563_2c173fbe264d45bc5809"; 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: Sun, 23 Sep 2018 16:17:11 -0000

martinthomson commented on this pull request.

> @@ -593,37 +593,40 @@ The server populates the Destination Connection ID with the connection ID that
 the client included in the Source Connection ID of the Initial packet.
 The server includes a connection ID of its choice in the Source Connection ID
-field.  The client MUST use this connection ID in the Destination Connection ID
-of subsequent packets that it sends.
+field.  This value MUST not be equal to the Destination Connection ID field of

Yes, this isn't obvious until you read #1784.  In that case, the reuse of a connection ID causes the client to be confused about what belongs to what.

The problem @tatsuhiro-t identified is that the client can respond to a Retry, then receive a valid Initial in response to a packet sent before that Retry, but it is one that is incompatible with its current TLS state.  This assumes that the client has changed its ClientHello somehow in response to the Retry, which we encourage, but don't mandate.

Forcing the change of connection ID means that a client that receives a Retry will drop anything sent by the server in response to any Initial packets sent before receiving the Retry.  So, if a retransmission of the first round of Initial packets gets a real response, that will just be dropped.

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