Re: [Ohai] Reviving work on streaming OHTTP

Tommy Pauly <tpauly@apple.com> Wed, 05 July 2023 03:01 UTC

Return-Path: <tpauly@apple.com>
X-Original-To: ohai@ietfa.amsl.com
Delivered-To: ohai@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 24DE2C15106C for <ohai@ietfa.amsl.com>; Tue, 4 Jul 2023 20:01:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.097
X-Spam-Level:
X-Spam-Status: No, score=-7.097 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, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=apple.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id dPC6gItHR_w1 for <ohai@ietfa.amsl.com>; Tue, 4 Jul 2023 20:01:04 -0700 (PDT)
Received: from rn-mailsvcp-mx-lapp03.apple.com (rn-mailsvcp-mx-lapp03.apple.com [17.179.253.24]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id BAEB5C151065 for <ohai@ietf.org>; Tue, 4 Jul 2023 20:01:04 -0700 (PDT)
Received: from rn-mailsvcp-mta-lapp01.rno.apple.com (rn-mailsvcp-mta-lapp01.rno.apple.com [10.225.203.149]) by rn-mailsvcp-mx-lapp03.rno.apple.com (Oracle Communications Messaging Server 8.1.0.23.20230328 64bit (built Mar 28 2023)) with ESMTPS id <0RXA00OXWZ1N2Z50@rn-mailsvcp-mx-lapp03.rno.apple.com> for ohai@ietf.org; Tue, 04 Jul 2023 20:01:04 -0700 (PDT)
X-Proofpoint-ORIG-GUID: UuMKKIgFX_4CmgjLY0JtJNraRYL-Jdio
X-Proofpoint-GUID: UuMKKIgFX_4CmgjLY0JtJNraRYL-Jdio
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.591, 18.0.957 definitions=2023-07-04_16:2023-07-04, 2023-07-04 signatures=0
X-Proofpoint-Spam-Details: rule=interactive_user_notspam policy=interactive_user score=0 mlxscore=0 spamscore=0 bulkscore=0 suspectscore=0 phishscore=0 adultscore=0 mlxlogscore=999 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2305260000 definitions=main-2307050026
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=apple.com; h=content-type : mime-version : subject : from : in-reply-to : date : cc : content-transfer-encoding : message-id : references : to; s=20180706; bh=+RAANllEv148GDQeDp9z7x5MC89ksVUdXK4JPZYaAdQ=; b=MesCPOsIXzKORVkf13vrbMRYHAGI9tKVT0E2yF/8oZxm4PN1/hGBGtN2fs5b6+gkZZ1M YEgamOavUbh/ndmAQv1KIvhsHXAT03PpzX2FXGhuNfa3NFdUgLsWHNvICFdWqnv/Bb8y juzjssD9wdyzjcnhFfXUt3IPG3FvkDfJa/Ld3RgBZiDtDZ+Jm1w1L/Br5nsmDG/4ZP/+ AYb5bwCaJL5XXtJ+1G3zWz+RkUNN++z1ehQEIagfOxucvtlrfXnym7ZPtOudtwZjLrLs dkrxvZv09tTMep2N8q2VGJLTQKq8RXD/9hNPx+IMH6Dz2yspp0XGICyePn2zC9LY+Xy1 mg==
Received: from rn-mailsvcp-mmp-lapp04.rno.apple.com (rn-mailsvcp-mmp-lapp04.rno.apple.com [17.179.253.17]) by rn-mailsvcp-mta-lapp01.rno.apple.com (Oracle Communications Messaging Server 8.1.0.23.20230328 64bit (built Mar 28 2023)) with ESMTPS id <0RXA001VBZ1ONC20@rn-mailsvcp-mta-lapp01.rno.apple.com>; Tue, 04 Jul 2023 20:01:01 -0700 (PDT)
Received: from process_milters-daemon.rn-mailsvcp-mmp-lapp04.rno.apple.com by rn-mailsvcp-mmp-lapp04.rno.apple.com (Oracle Communications Messaging Server 8.1.0.23.20230328 64bit (built Mar 28 2023)) id <0RXA00800Z0HGQ00@rn-mailsvcp-mmp-lapp04.rno.apple.com>; Tue, 04 Jul 2023 20:01:00 -0700 (PDT)
X-Va-A:
X-Va-T-CD: 01a37c4388be431533d60b3d58eeb299
X-Va-E-CD: 9243f175e618f6f3fd2c083f468d03ac
X-Va-R-CD: 5f09bf9622f6bf6e5e182625a032de12
X-Va-ID: 502ad4e9-6e1f-4ebd-9ce7-7f9287eb67c7
X-Va-CD: 0
X-V-A:
X-V-T-CD: 01a37c4388be431533d60b3d58eeb299
X-V-E-CD: 9243f175e618f6f3fd2c083f468d03ac
X-V-R-CD: 5f09bf9622f6bf6e5e182625a032de12
X-V-ID: ce76ceb9-b15a-4d5f-b24b-21d647548a69
X-V-CD: 0
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.591, 18.0.957 definitions=2023-07-04_16:2023-07-04, 2023-07-04 signatures=0
Received: from smtpclient.apple ([17.11.228.246]) by rn-mailsvcp-mmp-lapp04.rno.apple.com (Oracle Communications Messaging Server 8.1.0.23.20230328 64bit (built Mar 28 2023)) with ESMTPSA id <0RXA0020YZ1OE600@rn-mailsvcp-mmp-lapp04.rno.apple.com>; Tue, 04 Jul 2023 20:01:00 -0700 (PDT)
Content-type: text/plain; charset="utf-8"
MIME-version: 1.0 (Mac OS X Mail 16.0 \(3769.100.3\))
From: Tommy Pauly <tpauly@apple.com>
In-reply-to: <9ae9e518-379c-4485-b49f-889abbe33ed3@betaapp.fastmail.com>
Date: Tue, 04 Jul 2023 20:00:50 -0700
Cc: Mark Nottingham <mnot@mnot.net>, ohai@ietf.org
Content-transfer-encoding: quoted-printable
Message-id: <4BCFAAC5-7C31-4815-A0E2-F821F832CD07@apple.com>
References: <26826C65-FC5A-47E7-B0CB-1453DF7E4D34@apple.com> <683F4066-E617-477E-9CE9-66CA1EF75619@mnot.net> <9ae9e518-379c-4485-b49f-889abbe33ed3@betaapp.fastmail.com>
To: Martin Thomson <mt@lowentropy.net>
X-Mailer: Apple Mail (2.3769.100.3)
Archived-At: <https://mailarchive.ietf.org/arch/msg/ohai/5Q1LTI3jCje7SvhZcpyK7rfm4zc>
Subject: Re: [Ohai] Reviving work on streaming OHTTP
X-BeenThere: ohai@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Oblivious HTTP Application Intermediation <ohai.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ohai>, <mailto:ohai-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ohai/>
List-Post: <mailto:ohai@ietf.org>
List-Help: <mailto:ohai-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ohai>, <mailto:ohai-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 05 Jul 2023 03:01:09 -0000

Definitely agreed that we wouldn’t want too many variants floating around.

Practically, I would expect that for any given gateway, it would make sense to use one variant or the other (streamed or non-streamed), across all clients. If your gateway is serving DNS queries, then you don’t need streamed. If it is sending much larger or slower responses, it might.

For proprietary methods of sharing gateway configurations, they can certainly indicate whether or not streaming should be used for all clients. The consistency problem then needs to be solved for this entire bundle. I agree that this becomes the easy case.

Dynamic discovery is trickier to make consistent, and I’ll need to think about that case more.

Tommy

> On Jul 4, 2023, at 5:51 PM, Martin Thomson <mt@lowentropy.net> wrote:
> 
> Certainly, there will be cases where the new format is known to be supported, such that a client can just use it, with the server responding in kind.  It is also possible for this to be asymmetric, where a server supports both and chooses a response format based on the request of the client.  But those are the easy cases.
> 
> For something like the SVCB config, things get interesting.  The obvious approach here is to have the gateway indicate what it accepts alongside the key configuration.  The format we've defined has no direct means to do that, but the method overloading suggests that maybe Accept on a key configuration fetch would work, even if that might be a bit of a misuse of the field (it doesn't appear to be so based on a strict reading, but...).
> 
> There is also the possibility that the gateway could indicate what it accepts, such that clients could try one format and be told which formats are acceptable.  That uses an unauthenticated medium (the outer envelope, which is visible to the relay) and comes with delays in the case that a client guesses incorrectly.  It also separates clients into multiple groups based on what format they choose, which leads to the next point...
> 
> The choice of formats is subject to all of the same considerations regarding consistency as other aspects of configuration.  Clients opting to use format A will be distinguished from clients that choose format B.  For that reason, we probably shouldn't have too many options floating around.
> 
> On Wed, Jul 5, 2023, at 10:09, Mark Nottingham wrote:
>> It might be worth thinking about how this should be invoked/portrayed; e.g.,
>> 
>> - is it something that the sender just decides to use?
>> - or, something negotiated/hinted?
>> - or, do we give the whole thing a different name, and people bake in 
>> OHTTP or [new thing]?
>> 
>> Cheers,
>> 
>> 
>>> On 4 Jul 2023, at 6:05 am, Tommy Pauly <tpauly=40apple.com@dmarc.ietf.org> wrote:
>>> 
>>> Hi, OHAI!
>>> 
>>> A little over a year ago, Martin had proposed adding streaming support for OHTTP, written up in this PR (https://github.com/ietf-wg-ohai/oblivious-http/pull/108).
>>> 
>>> We had decided not to add this into the base spec, since it requires a slightly different wire format (with chunk lengths), but instead have a new media type for that.
>>> 
>>> As the core OHTTP spec is almost an RFC, and we’re getting more experience with deployment, it seemed like a good time to revive the work and pull together a document to define that new media type, and the delta it has from the base OHTTP format based on Martin’s PR.
>>> 
>>> I don’t think I’ll be able to get a full draft out before the deadline, but I’d like to hear:
>>> - If people are interested
>>> - If there’s any objections to doing this work now
>>> - If people would like to volunteer to co-author
>>> 
>>> Best,
>>> Tommy
>>> -- 
>>> Ohai mailing list
>>> Ohai@ietf.org
>>> https://www.ietf.org/mailman/listinfo/ohai
>> 
>> --
>> Mark Nottingham   https://www.mnot.net/
>> 
>> -- 
>> Ohai mailing list
>> Ohai@ietf.org
>> https://www.ietf.org/mailman/listinfo/ohai