Re: [quicwg/base-drafts] Don't arm the handshake timer if there's no data (#2590)

Marten Seemann <> Mon, 08 April 2019 03:43 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id D534812002E for <>; Sun, 7 Apr 2019 20:43:32 -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 IwNufqH3F1sj for <>; Sun, 7 Apr 2019 20:43:30 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id BDD6C12017D for <>; Sun, 7 Apr 2019 20:43:30 -0700 (PDT)
Date: Sun, 07 Apr 2019 20:43:29 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=pf2014; t=1554695009; bh=PF5MVEgwI2f9Sop2p1+xRKZtrPxSIPlVuyWMMbv3sl0=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:List-ID: List-Archive:List-Post:List-Unsubscribe:From; b=FodPaiPaNUdAOsl/YFdd4zRzakx8WaKaELY0UgWNlJ9pE89BD9c0oxSNLknGoBALF Zl74RSiKPQ7GSngRYvX3Xt7xS4U5Knj9ScEJN9pZy9tlbeSqjaoUkeCX8E3EdbdouX JafEThL6poUKegKxJKwpb8JK6UKxoNPvA9fsY4iU=
From: Marten Seemann <>
Reply-To: quicwg/base-drafts <>
To: quicwg/base-drafts <>
Cc: Subscribed <>
Message-ID: <quicwg/base-drafts/pull/2590/review/>
In-Reply-To: <quicwg/base-drafts/pull/>
References: <quicwg/base-drafts/pull/>
Subject: Re: [quicwg/base-drafts] Don't arm the handshake timer if there's no data (#2590)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5caac36176895_5cb83fa43ded45c42650cf"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: marten-seemann
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: Mon, 08 Apr 2019 03:43:33 -0000

marten-seemann commented on this pull request.

> @@ -458,17 +462,16 @@ sent, then no alarm should be armed until data has been received from the
 Because the server could be blocked until more packets are received, the client
-MUST start the crypto retransmission timer even if there is no unacknowledged
-CRYPTO data.  If the timer expires and the client has no CRYPTO data to
-retransmit and does not have Handshake keys, it SHOULD send an Initial packet in
-a UDP datagram of at least 1200 bytes.  If the client has Handshake keys, it
-SHOULD send a Handshake packet.
-On each consecutive expiration of the crypto timer without receiving an
-acknowledgement for a new packet, the sender SHOULD double the crypto
-retransmission timeout and set a timer for this period.
+MUST ensure the crypto retransmission timer is set if there is unacknowledged
+crypto data and MUST ensure the timer is set until it has 1-RTT keys.
+If the timer expires and the client has no CRYPTO data to retransmit and does
+not have Handshake keys, it MUST send an Initial packet in a UDP datagram of
+at least 1200 bytes.  If the client has Handshake keys, it MUST send a

Why would the client send a Handshake packet if there’s no CRYPTO data to retransmit? If there’s no Handshake CRYPTO data to retransmit, this means that the server already received the client‘s TLS messages sent with Handshake keys, and won’t be blocked by the 3x Limit any more, doesn’t it?

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