Re: Split error codes in two

Victor Vasiliev <vasilvv@google.com> Tue, 05 September 2017 11:31 UTC

Return-Path: <vasilvv@google.com>
X-Original-To: quic@ietfa.amsl.com
Delivered-To: quic@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B131C13292B for <quic@ietfa.amsl.com>; Tue, 5 Sep 2017 04:31:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Level:
X-Spam-Status: No, score=-2 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=google.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 1oFn6eQeNauy for <quic@ietfa.amsl.com>; Tue, 5 Sep 2017 04:31:38 -0700 (PDT)
Received: from mail-qt0-x234.google.com (mail-qt0-x234.google.com [IPv6:2607:f8b0:400d:c0d::234]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1353713219C for <quic@ietf.org>; Tue, 5 Sep 2017 04:31:38 -0700 (PDT)
Received: by mail-qt0-x234.google.com with SMTP id b52so6241925qtb.3 for <quic@ietf.org>; Tue, 05 Sep 2017 04:31:38 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=qqhHT9HrYfcqGISZvWL7EUNX9/csEgKt73QL8tbOCxk=; b=Q7HaCnOXQKxFF8WpjTzfuyJw/rIbFJfhyfw52VrEKhB1BeNjV42y91NoCgrIAcq1Xl yKjFsS3lxBx7wEsYlylilLUdDpKRRr869FpkexnnL5M/d+SeiHkWPlKQOo78IVFznxBC Dx2dr+VhMpEASll03IRxmKONQLPexNmgPa/7rBLgf54q3xul3yJIKe7uGN+PZilxsMYw p9y2P8RnZi+xxkBiBeVS2y7MFi9yIR8dxNtFXSs2iaexdhhTQsnYKWzCw9WRMHfvp8An r+PQfm2mQ4RnLrEcnTL8Hx+aa/SXDP9BLmqg+c5ATI5UFX4YSLbFhajZLX38EN6sakiC tM8Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=qqhHT9HrYfcqGISZvWL7EUNX9/csEgKt73QL8tbOCxk=; b=ew+ZS6FgjRYpkvgilktvzpsj7GmNFgiSrTZj79IL0AXTNOT45bvCOFP4E3m08xPZtQ pqt1tVT93Gd+EthhJ9BgW8ADET996mKTHd5zWDvyOEwLRWwVz9llWGG2j3KBcsM86mWT YrkayE2oiw91Gnsr96Z5CLVSXQSsgvW1FMjwrcliV1aHJlt8/JnbcZDVa2F5VY5yHf5i u6dwolJXsNF10to8oaYEoNTVfCUmh4B0puuo7qAVb8Y6U4epIuYWFQEec2T81kZLnamB VQwtfdRyfhassqWDwLRbDe7U7kLJqq+Y6xNABe8D/s6JAlziEkVf0K2nF5IRK/aYR/UG v0Hw==
X-Gm-Message-State: AHPjjUgLXrxBIEOV9uw9udT4Wunc/7u3CFnzy1M9ACf1+xSOHvRjxmkW 9GYI4zgWFOTVUxP64bxv+rlj4K5iO2w4
X-Google-Smtp-Source: ADKCNb5UW3dJh1BB6IHvIlsbG37SYGLfMnVtrYnmyjjHxfORh5gizvTNRsVAIi0N/W6v1CNBJmkzpFQHdX8pDrY0wKw=
X-Received: by 10.237.35.230 with SMTP id k35mr4638657qtc.238.1504611096996; Tue, 05 Sep 2017 04:31:36 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.55.27.12 with HTTP; Tue, 5 Sep 2017 04:31:36 -0700 (PDT)
In-Reply-To: <CABkgnnWphw3k=f3==2y3AhexQCj9Py50SLSEH06nN3MN0SCerQ@mail.gmail.com>
References: <CABkgnnWwGAyHzkST9o9ueVmBw3_TpJun=dv2X+HL2snXSZJgew@mail.gmail.com> <CAAZdMafBWFWtC7A60P1CMm_6nUnbW+_Tx_7re1bAo7Vx2kLdcA@mail.gmail.com> <CABkgnnWphw3k=f3==2y3AhexQCj9Py50SLSEH06nN3MN0SCerQ@mail.gmail.com>
From: Victor Vasiliev <vasilvv@google.com>
Date: Tue, 05 Sep 2017 07:31:36 -0400
Message-ID: <CAAZdMacHC1HKhXMR4G9CKUOmYyQMsQBab+tampP-PG6n_jJZoA@mail.gmail.com>
Subject: Re: Split error codes in two
To: Martin Thomson <martin.thomson@gmail.com>
Cc: QUIC WG <quic@ietf.org>
Content-Type: multipart/alternative; boundary="001a113e4d4ef6b98105586f911d"
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/STrHhjrMZRFvpUAcATtVnVEvT3w>
X-BeenThere: quic@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Main mailing list of the IETF QUIC working group <quic.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic>, <mailto:quic-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic/>
List-Post: <mailto:quic@ietf.org>
List-Help: <mailto:quic-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic>, <mailto:quic-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 05 Sep 2017 11:31:41 -0000

On Tue, Sep 5, 2017 at 7:18 AM, Martin Thomson <martin.thomson@gmail.com>
wrote:

> On Tue, Sep 5, 2017 at 8:12 PM, Victor Vasiliev <vasilvv@google.com>
> wrote:
> > On Sun, Sep 3, 2017 at 9:55 PM, Martin Thomson <martin.thomson@gmail.com
> >
> > wrote:
> >>
> >> The basic idea here - one that I believe that we have agreement on,
> >> but would like to confirm - is that only applications should be
> >> cancelling streams.  In short: if the transport kills a stream that
> >> the application was relying on, the whole application protocol state
> >> becomes indeterminate.
> >
> >
> > I assume this means only on the wire?  Because you have to close
> > the streams both when your connection goes down, and when you get
> > a 0-RTT reject.
>
> I forget where this discussion happened, but the current thinking was
> that 0-RTT reject doesn't result in streams being closed.  Instead, it
> causes any data that was sent to need to be retransmitted.  Basically,
> treat it as lost (though not for the purposes of congestion signals,
> waves hands a little).  Does that make sense?
>

That is what the current gQUIC code does, and it has been historically
sufficiently problematic that I've been trying to switch us away from that
behavior.  TLS prohibits automatic resend without explicit opt-in from the
application, and even then, it's a bad idea.  Application payload may vary
substantially depending on the state of the TLS connection, so if the
connection changes, client's presented identity, the exporter secrets used,
etc, may become different (and in case of exporter secrets, they will).