[quicwg/base-drafts] Echoing HTTP_REQUEST_CANCELLED from STOP_SENDING has unintended semantics (#2106)

afrind <notifications@github.com> Fri, 07 December 2018 21:03 UTC

Return-Path: <noreply@github.com>
X-Original-To: quic-issues@ietfa.amsl.com
Delivered-To: quic-issues@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 0A327130FEC for <quic-issues@ietfa.amsl.com>; Fri, 7 Dec 2018 13:03:18 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.46
X-Spam-Level:
X-Spam-Status: No, score=-9.46 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-1.46, 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: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=github.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 P9fxfN7XPfNp for <quic-issues@ietfa.amsl.com>; Fri, 7 Dec 2018 13:03:16 -0800 (PST)
Received: from out-5.smtp.github.com (out-5.smtp.github.com [192.30.252.196]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E1924130FE2 for <quic-issues@ietf.org>; Fri, 7 Dec 2018 13:03:15 -0800 (PST)
Date: Fri, 07 Dec 2018 13:03:14 -0800
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=github.com; s=pf2014; t=1544216594; bh=Gw7Nnm1WR06qu6pPfxE08b4yiGqGonlcNJsXDRCv7/A=; h=Date:From:Reply-To:To:Cc:Subject:List-ID:List-Archive:List-Post: List-Unsubscribe:From; b=q92FCP/pCXsE40G1xpWWCscH8g5NYxlsvwwgNPmANtRPAQjeiOoTCLKVDunPPEfAm CNGqFdPhVv47+mlnlVuwXdCRyVciZtt6kXkYzLhUQdRZ3BfxqO74ZjgjtleJLJKCJ+ gb7kBfhLPKTo8LOcNYfrg1ZFO/u8HfaIjFTysa4w=
From: afrind <notifications@github.com>
Reply-To: quicwg/base-drafts <reply+0166e4ab657322d98c46740f4cde97ec4cdfde321bce427192cf000000011822a21292a169ce172ccfe1@reply.github.com>
To: quicwg/base-drafts <base-drafts@noreply.github.com>
Cc: Subscribed <subscribed@noreply.github.com>
Message-ID: <quicwg/base-drafts/issues/2106@github.com>
Subject: [quicwg/base-drafts] Echoing HTTP_REQUEST_CANCELLED from STOP_SENDING has unintended semantics (#2106)
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="--==_mimepart_5c0ae01261c7e_4a7b3fe9f6ad45c41618b0"; charset="UTF-8"
Content-Transfer-Encoding: 7bit
Precedence: list
X-GitHub-Sender: afrind
X-GitHub-Recipient: quic-issues
X-GitHub-Reason: subscribed
X-Auto-Response-Suppress: All
X-GitHub-Recipient-Address: quic-issues@ietf.org
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic-issues/wZ8N3v0B83MCpPnkpTslWjWlzCM>
X-BeenThere: quic-issues@ietf.org
X-Mailman-Version: 2.1.29
List-Id: Notification list for GitHub issues related to the QUIC WG <quic-issues.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic-issues>, <mailto:quic-issues-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic-issues/>
List-Post: <mailto:quic-issues@ietf.org>
List-Help: <mailto:quic-issues-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic-issues>, <mailto:quic-issues-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 07 Dec 2018 21:03:18 -0000

The current transport draft says:

>   A STOP_SENDING frame requests that the receiving endpoint send a RESET_STREAM frame. An  endpoint that receives a STOP_SENDING frame MUST send a RESET_STREAM frame for that stream. An endpoint SHOULD copy the error code from the STOP_SENDING frame, but MAY use 
any other application error code. The endpoint that sends a STOP_SENDING frame can ignore the 
error code carried in any RESET_STREAM frame it receives.

For HTTP, the HTTP_REQUEST_CANCELLED application error code has different semantics in each direction.  From C -> S, it means "I don't want this".  From S -> C, it means "I didn't process this".  I don't think the client can't distinguish whether the RESET_STREAM was sent before or after the STOP_SENDING was received.

Maybe it's ok to do nothing here, since the client isn't likely to attempt to retry the request it just abandoned, and the text says the sender can ignore the RESET_STREAM error code.  Or maybe we should clarify it in some way.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/quicwg/base-drafts/issues/2106