RE: question about QPACK decode framing

Brian Swander <briansw@microsoft.com> Thu, 01 November 2018 15:27 UTC

Return-Path: <briansw@microsoft.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 B8DAE128C65 for <quic@ietfa.amsl.com>; Thu, 1 Nov 2018 08:27:14 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.471
X-Spam-Level:
X-Spam-Status: No, score=-2.471 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.47, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=microsoft.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 PmPrhi2nZt_F for <quic@ietfa.amsl.com>; Thu, 1 Nov 2018 08:27:11 -0700 (PDT)
Received: from NAM01-SN1-obe.outbound.protection.outlook.com (mail-eopbgr820115.outbound.protection.outlook.com [40.107.82.115]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 8EAF71252B7 for <quic@ietf.org>; Thu, 1 Nov 2018 08:27:11 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Qv7TVsV5oGPk5J4OIhscntSurdma1ElnUGUfPZTOXR0=; b=SSy4w49/LIdJrBt/6PnfJWYhwZE4U7ONm50S8vZoLnuyUhFOrYaFeUyB6zSJfeSpFkz0xXsSvqGG4vvJunMJbOXcM0dtQHrrDJ0KURTvnlPi257tR69S7k0w+LiCHpij6QQalQYb0HGpfnuBOn8gLvgNwFhbxjwXPV3iU7XxxL8=
Received: from DM5PR21MB0124.namprd21.prod.outlook.com (10.173.173.11) by DM5PR21MB0699.namprd21.prod.outlook.com (10.175.112.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1294.3; Thu, 1 Nov 2018 15:27:09 +0000
Received: from DM5PR21MB0124.namprd21.prod.outlook.com ([fe80::41a:587a:d7ed:d689]) by DM5PR21MB0124.namprd21.prod.outlook.com ([fe80::41a:587a:d7ed:d689%2]) with mapi id 15.20.1294.014; Thu, 1 Nov 2018 15:27:09 +0000
From: Brian Swander <briansw@microsoft.com>
To: Dmitri Tikhonov <dtikhonov@litespeedtech.com>, Matthew Cox <macox@microsoft.com>
CC: "quic@ietf.org" <quic@ietf.org>
Subject: RE: question about QPACK decode framing
Thread-Topic: question about QPACK decode framing
Thread-Index: AdRxXAgQAarsEnv1SKWHpz4SzyG/9QAAsrYAACYJYEA=
Date: Thu, 01 Nov 2018 15:27:09 +0000
Message-ID: <DM5PR21MB012462571AA4F5C3343263B6B3CE0@DM5PR21MB0124.namprd21.prod.outlook.com>
References: <DM5PR21MB01241538AD5198940C463A13B3CD0@DM5PR21MB0124.namprd21.prod.outlook.com> <20181031211518.GA9622@ubuntu-dmitri>
In-Reply-To: <20181031211518.GA9622@ubuntu-dmitri>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
msip_labels: MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Enabled=True; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SiteId=72f988bf-86f1-41af-91ab-2d7cd011db47; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Owner=briansw@microsoft.com; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SetDate=2018-11-01T15:27:07.7828049Z; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Name=General; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Application=Microsoft Azure Information Protection; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Extended_MSFT_Method=Automatic; Sensitivity=General
x-originating-ip: [2001:4898:80e8:1:95a3:2d80:61c2:85b2]
x-ms-publictraffictype: Email
x-microsoft-exchange-diagnostics: 1; DM5PR21MB0699; 6:WVAl9eK4SP9afoHBUx+Fd8516dEwzRn65uAcsSVLykXBQ++6WhrOwOGS1GFO6iU0kmRwbDLbN4udQAlMPN0BW7xE7+xzeuLa4oR3ilvj4JM2DQe8sWQQwB6TbBzHjxl6MkJXZMZhlqCxvzSudraFIOawSl/PH3SqL6k/eMbeKFBqAVmcG+S+jOE0owC+6K/0CAgvxVL+frR0sEbxHVsK5sTPRH7w3LAILgNJp+rQMyu7E+dvmulhpwX1mK3JsHpVk/oXwrslIaF1bFIqgMcA0in3Vvj4rvcJSn9740xT3Xlf8Sk+6sG0qfwJfd2PKBxEXiv4jqAb5++VT5XNFo5HT/MEiAOClObxmYsdWJKx+dnPDY+zgeLgSaQ6RXC4WhN5giIZSLHEGpCoe1VQh/A79hTavPg9yTi1evXIfocfAMJJttXuAkKwyuHJkDqGg+CPyFAuyD3NtOdnFuf1jw2hSQ==; 5:7XGwUmMmA+m/6pQHI+cAMGfNPzRmzKvW58owrwG//UnDT4mU6eqq6PdGq94TER4fUYCwdFlYDjiDmTFPedat3D3/1v+USeBYhgmcTzxkFLiJgYhhNzGHSk7C9xzAG9Ir3N+6zkvHKJ3coyY6INAmypGhy2KFhhRWQURYAb1IVVw=; 7:BDU0T+UxqyuG4mt+RwatQS29GfQ4QtFscDnY1iCXX/OYOGVeqo/9z7SVjkR34vqzHqMHgWNGjcpWCMPecwK98GYsfNHjjKmy0KtusbAFZ/U2wJnD9HNSlDFiTXpaMwDxh8iGi5p/Re0ioxyGubPgXg==
x-ms-office365-filtering-correlation-id: a6643a30-3e7a-4483-ad24-08d6400e7d53
x-ms-office365-filtering-ht: Tenant
x-microsoft-antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(4618075)(2017052603328)(7193020); SRVR:DM5PR21MB0699;
x-ms-traffictypediagnostic: DM5PR21MB0699:
authentication-results: spf=none (sender IP is ) smtp.mailfrom=briansw@microsoft.com;
x-microsoft-antispam-prvs: <DM5PR21MB06995C499CDBF94386DE0BD8B3CE0@DM5PR21MB0699.namprd21.prod.outlook.com>
x-exchange-antispam-report-test: UriScan:(28532068793085)(89211679590171);
x-ms-exchange-senderadcheck: 1
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(8220035)(2401047)(5005006)(8121501046)(93006095)(93001095)(3002001)(3231382)(944501410)(52105095)(2018427008)(10201501046)(6055026)(148016)(149066)(150057)(6041310)(20161123558120)(20161123562045)(20161123564045)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699051)(76991095); SRVR:DM5PR21MB0699; BCL:0; PCL:0; RULEID:; SRVR:DM5PR21MB0699;
x-forefront-prvs: 0843C17679
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(396003)(366004)(39860400002)(376002)(346002)(136003)(13464003)(199004)(189003)(256004)(25786009)(53546011)(6506007)(4326008)(86612001)(76176011)(10290500003)(7696005)(5250100002)(2906002)(186003)(2900100001)(97736004)(478600001)(6116002)(86362001)(99286004)(102836004)(46003)(14454004)(11346002)(476003)(486006)(8990500004)(446003)(33656002)(68736007)(6436002)(1511001)(110136005)(81156014)(8676002)(53936002)(81166006)(8936002)(316002)(55016002)(22452003)(9686003)(5660300001)(7736002)(6246003)(10090500001)(6636002)(305945005)(71200400001)(71190400001)(229853002)(74316002)(105586002)(106356001); DIR:OUT; SFP:1102; SCL:1; SRVR:DM5PR21MB0699; H:DM5PR21MB0124.namprd21.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1;
received-spf: None (protection.outlook.com: microsoft.com does not designate permitted sender hosts)
x-microsoft-antispam-message-info: NrIeY9n3ffpYeL94QVirhRsqwgLCJRMFJhPdHzSuV6YRfNLNSQgPjRDbhndLzdsiHPtvMDFjFflVuYhMjKQ+EnxjmnSuo3EOWNJ+JG9RjJ/+TysdVpPg4XvNGLa6EiVO01J5Duv2V2Qprt/QGnXHnMS7CI3jcxeOeCGE2ROTvYpceb2m9q9FVQMgK/vTxhFHn/co4QbWfANrYOZuT5McTPpyWb+BwOr/uja5QedY9FeWJbqXNG8U6ITIsFCYxVAdSaMVwqxVFuVAxHrcjEemfGbWUmjfc0QEKvldjdn2ku3k/aS7cfaFBLgvQ24n1+vJLVU1NHUyZe4RKnPoy/K486yMVrDla8A38GLAfdnuBIw=
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: microsoft.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a6643a30-3e7a-4483-ad24-08d6400e7d53
X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Nov 2018 15:27:09.4468 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR21MB0699
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/4S-7XvWYs4USYqLef9VbfhcG6No>
X-BeenThere: quic@ietf.org
X-Mailman-Version: 2.1.29
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: Thu, 01 Nov 2018 15:27:15 -0000

>From our read of the current drafts:

It seems that in the drafts that the HEADERS frame is only for the compressed headers being sent on a real stream.
The encoder and decoder streams for QPACK are just the raw encodings as described in the QPACK spec without extra framing.  
If so, then on the decoding on the decoder stream, there is no way to know (a priori) that we have a complete set of headers, since there is no overall header length available.

Can someone please clarify.

Thanks
bs


-----Original Message-----
From: Dmitri Tikhonov <dtikhonov@litespeedtech.com> 
Sent: Wednesday, October 31, 2018 2:15 PM
To: Brian Swander <briansw@microsoft.com>
Cc: quic@ietf.org
Subject: Re: question about QPACK decode framing

Hi Brian,

(I am assuming you're talking about processing the header block.)

The header block is in the HQ "HEADERS" frame which has a length.
Depending on your implementation, you may be able to tell if you have the complete header block buffered.

  - Dmitri.

On Wed, Oct 31, 2018 at 08:57:27PM +0000, Brian Swander wrote:
> Is there a way to determine that we are decoding a complete set of headers a priori?   I.e. is the "headers length" encoded anywhere?   Or does decode (control stream) just have to handle the case where we only have a partial header, and we just pend and wait for more data before continuing?
> 
> Thanks
> bs