[Captive-portals] Content Negotiation language

Mark Nottingham <mnot@mnot.net> Fri, 29 March 2019 13:08 UTC

Return-Path: <mnot@mnot.net>
X-Original-To: captive-portals@ietfa.amsl.com
Delivered-To: captive-portals@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 9ECD7120252 for <captive-portals@ietfa.amsl.com>; Fri, 29 Mar 2019 06:08:57 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.7
X-Spam-Level:
X-Spam-Status: No, score=-2.7 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=mnot.net header.b=c23rTJ+Y; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=d93LYRZh
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 afOhXQDW1TrZ for <captive-portals@ietfa.amsl.com>; Fri, 29 Mar 2019 06:08:55 -0700 (PDT)
Received: from wout4-smtp.messagingengine.com (wout4-smtp.messagingengine.com [64.147.123.20]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 9FB4F120233 for <captive-portals@ietf.org>; Fri, 29 Mar 2019 06:08:55 -0700 (PDT)
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.west.internal (Postfix) with ESMTP id 951EC45D3 for <captive-portals@ietf.org>; Fri, 29 Mar 2019 09:08:54 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163]) by compute3.internal (MEProxy); Fri, 29 Mar 2019 09:08:54 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mnot.net; h=from :content-type:content-transfer-encoding:mime-version:subject :message-id:date:to; s=fm2; bh=CzMnjuwMDOzbjZTOpOpCngbBqbqAz6JfV 8Htp1xfBlE=; b=c23rTJ+Y2yudIYm1e1OBXvCGFPfIYn085iNM/IakV15TV3Cz0 3drlotjtqhqN/7RAAXGj1t1XvgPjPkxcyyyHf4Ru6azgCJrp9P8peMdsK1V9MinU T9rEOGqyYGYbh3VNdGaME2ZvuRj16Du3zndQRoCqMDFWCurgLEPBAl52/MsjvSFZ clX4Y9pXQj6P8NO8A+TQlFwHiYINH/JpX0id3dJd5VIG6EvZCY1Aa+cIg7Of05mj WU6DcaF4gkVJ8+2LGIntwfeZCfALMd5xLVwpAXLCBea1rZo/We342YrofGF4vnrL Vfu6Vy4lZWSc5zYexiSTvLNlnKtwodZUbK/vA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-transfer-encoding:content-type :date:from:message-id:mime-version:subject:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; bh=CzMnju wMDOzbjZTOpOpCngbBqbqAz6JfV8Htp1xfBlE=; b=d93LYRZh9UVMxU43eQMHWc fmKi2E9aTAp0kWIoWT+7klkY5IG/WottQRc7f3/VZxR5GpSY/AeIWBXp6IgbyQZV 01X8k/UUrbzvdKcTCcmdw3xvWnu4pqsKeSmPEImtTQ1BSmTFcuGE3MMNqs052HCN HU+x0hkIaeMdID/8KCYPfnMrp+827Ik3pgh+/GqF9FoXJFbbUMdF4s7xJJ3Ie9ez vzJdNgy5D4MY3UBWuU+g9wQZM3BHjC4vbBtbYRMfAy0qrtoq87XMdbcX8vxSUqC5 9/DBIp1wYA+KPvaiXitqmt7APuQuDovowLy39Y3wL6iSuJS+W7RLNJhJBCrdgB5Q ==
X-ME-Sender: <xms:5RieXN2GN28ZNaDy7lvV3vyaVCj1imdEV53LMHcTy0jkPNInu-hpew>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedutddrkeejgddvvdcutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecunecujfgurhephfgtgfgguffkfffvofesthhqmhdthh dtvdenucfhrhhomhepofgrrhhkucfpohhtthhinhhghhgrmhcuoehmnhhothesmhhnohht rdhnvghtqeenucffohhmrghinhepihgvthhfrdhorhhgpdhmnhhothdrnhgvthenucfkph epfedurddufeefrddufeeirddutdefnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmnhho thesmhhnohhtrdhnvghtnecuvehluhhsthgvrhfuihiivgeptd
X-ME-Proxy: <xmx:5RieXO7k7dmSijduMAZE0Xx5FDYj17rWodHv2475jPzBc5wx-gxkwA> <xmx:5RieXDgT4oZxS-wIghzVPL7-DGyBuzaampKWDj7Lotcv2CwwmS4FbA> <xmx:5RieXPkVznL4tk5DEZDeZYtUDFqITZsih7k6FaNTw2qJkJZiw-nQpA> <xmx:5hieXPxJrUCJXVMdm43dzeyusYRBrUvZkpDVUHcEupp14TYFzrSa6w>
Received: from dhcp-8867.meeting.ietf.org (dhcp-8867.meeting.ietf.org [31.133.136.103]) by mail.messagingengine.com (Postfix) with ESMTPA id 709C710316 for <captive-portals@ietf.org>; Fri, 29 Mar 2019 09:08:52 -0400 (EDT)
From: Mark Nottingham <mnot@mnot.net>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
Mime-Version: 1.0 (Mac OS X Mail 12.2 \(3445.102.3\))
Message-Id: <5CCD4872-0403-4C7B-818E-417928520EBB@mnot.net>
Date: Fri, 29 Mar 2019 14:08:50 +0100
To: captive-portals@ietf.org
X-Mailer: Apple Mail (2.3445.102.3)
Archived-At: <https://mailarchive.ietf.org/arch/msg/captive-portals/mVkwFBZPs03WuT3O1XDpSGYd_NQ>
Subject: [Captive-portals] Content Negotiation language
X-BeenThere: captive-portals@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Discussion of issues related to captive portals <captive-portals.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/captive-portals>, <mailto:captive-portals-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/captive-portals/>
List-Post: <mailto:captive-portals@ietf.org>
List-Help: <mailto:captive-portals-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/captive-portals>, <mailto:captive-portals-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 29 Mar 2019 13:08:58 -0000

In <https://tools.ietf.org/html/draft-ekwk-capport-rfc7710bis-02#section-2>:

> A captive portal MAY do content negotiation ([RFC7231] section 3.4) and attempt to redirect clients querying without an explicit indication of support for the captive portal API content type (i.e. without application/ capport+json listed explicitly anywhere within an Accept header vis. [RFC7231] section 5.3). In so doing, the captive portal SHOULD redirect the client to the value associated with the "user-portal- url" API key.

This is confusing, and not quite right on some details. I'd suggest something like:

~~~
A captive portal MAY redirect requests that do not have an Accept header field ([RFC7231] Section 5.3) containing a field item whose content-type is "application/capport+json" to the URL conveyed in the "user-portal-url" API key. When performing such content negotiation ([RFC7231] Section 3.4), captive portals need to keep in mind that such responses might be cached, and therefore SHOULD include an appropriate Vary header field ([RFC7231] Section 7.1.4) or mark them explicitly uncacheable (for example, using Cache-Control: no-store [RFC7234] Section 5.2.2.3).
~~~


--
Mark Nottingham   https://www.mnot.net/