Re: [quicwg/base-drafts] Include handshake anti-deadlock logic in pseudocode (#2281)

Martin Thomson <> Sun, 31 March 2019 07:01 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 403EE120174 for <>; Sun, 31 Mar 2019 00:01:30 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -8.001
X-Spam-Status: No, score=-8.001 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, 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 L9PRr0lFCVXj for <>; Sun, 31 Mar 2019 00:01:28 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 719AA120171 for <>; Sun, 31 Mar 2019 00:01:28 -0700 (PDT)
Date: Sun, 31 Mar 2019 00:01:27 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=pf2014; t=1554015687; bh=XNjmp+WKigVWx2YukzG+IkCs11n5+BLRfHfZJ3flZR0=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=M4IfLP5+KWiMGI9w/KwT7QwRTmTjV0oLng8IJQN93fbOVfR7LUagH4aAm6alyRTPJ ujmyjaA8djswHNxYTcBLOtiPZSHDJMXfpdUjCSHnsJ79090MgBLwSMLroTR3joz3MY /6ynH94UQaKCuP5IBWhjQeP+hpuHAJnoRqJ4BmRA=
From: Martin Thomson <>
Reply-To: quicwg/base-drafts <>
To: quicwg/base-drafts <>
Cc: Subscribed <>
Message-ID: <quicwg/base-drafts/pull/2281/review/>
In-Reply-To: <quicwg/base-drafts/pull/>
References: <quicwg/base-drafts/pull/>
Subject: Re: [quicwg/base-drafts] Include handshake anti-deadlock logic in pseudocode (#2281)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5ca065c77441_15a03faee72d45bc858b4"; 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, 31 Mar 2019 07:01:30 -0000

martinthomson requested changes on this pull request.

>      // Crypto retransmission timeout.
+  else if (endpoint is client without 1-RTT keys):
+    if (handshake keys available)

    if (handshake keys available):

Unfortunately, this is still incorrect.  As we discussed on there is a requirement to pad any time the client needs to send an Initial packet (it's a little more complicated in practice, but this is what the resolution boils down to). 

>    // Retransmit crypto data if no packets were lost
   // and there are still crypto packets in flight.
-  else if (crypto packets are in flight):
+  if (crypto packets are in flight):
     // Crypto retransmission timeout.

I assume that RetransmitUnackedCryptoData() is going to catch any need for padding...

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