[Captive-portals] Review of draft-ietf-capport-rfc7710bis

Lorenzo Colitti <lorenzo@google.com> Mon, 22 July 2019 15:17 UTC

Return-Path: <lorenzo@google.com>
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 3E56A120280 for <captive-portals@ietfa.amsl.com>; Mon, 22 Jul 2019 08:17:29 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -17.5
X-Spam-Level:
X-Spam-Status: No, score=-17.5 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, ENV_AND_HDR_SPF_MATCH=-0.5, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, USER_IN_DEF_DKIM_WL=-7.5, USER_IN_DEF_SPF_WL=-7.5] 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 NP3NXPGO7cfh for <captive-portals@ietfa.amsl.com>; Mon, 22 Jul 2019 08:17:27 -0700 (PDT)
Received: from mail-wr1-x42c.google.com (mail-wr1-x42c.google.com [IPv6:2a00:1450:4864:20::42c]) (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 0058D120289 for <captive-portals@ietf.org>; Mon, 22 Jul 2019 08:17:26 -0700 (PDT)
Received: by mail-wr1-x42c.google.com with SMTP id r1so39835426wrl.7 for <captive-portals@ietf.org>; Mon, 22 Jul 2019 08:17:26 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:from:date:message-id:subject:to:cc; bh=H+oYDS5pFU2sWyEHzVccsE32PcFwcHAnRLjpRCF9hqw=; b=FsoPHW95NTYWLg8qvKEH+ZKMeJ6p0+v8b+0mSl5KQYc9Z9vvXWPsMAx9vVtPF6FOVT 7scaW2NLh5PxlgcCsOleOOBEqFF2VkNqSsrZGv3s8Il4c0+cbS1H6QVHKGHCQrFfYbOH zc+tWgFO/Pd2K8Mrqf1iR8qCfl3E8fv8AWXAW6RJ/JuVrVPpc+Xj8hBs6rSysMB1o8eG p4kOib5iYA3qdMLVshxcaHBoNyBY9LrC/ZsVt4jCZ0J+sHNvRzuYJz9gffOzUsM47AJW mvi+C8jYCEL0yGrvl43yzKyrZCVeqRlGef1sotSNWsLdBqk7Go41M3LGEyKVH3XYV6tE yP4Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to:cc; bh=H+oYDS5pFU2sWyEHzVccsE32PcFwcHAnRLjpRCF9hqw=; b=H/CcyG8l5Lyvcc/wrJ8KN5zBlKU4pBFOLZA+f79smaA84y6XCjWgMjBTyrzKQPxXwC 9+ZQUaSPgfFV0at2juSdhq0JE6Y1EhaeZWdb/ic3z+3d6e3XzbKAjxKJgtSI5rw3GEOT D0xa/NY9P+O+olrNat5NOykX/Ka8OsTq4MBQf7IhCNtnOt52u3YzMjLCmH9JqHD5WFxr vnN4jlOu42g3DFnv4xG7tpLkIJhh4a6RIpZRjNKKnxgjjvAr5S6QKl22TDOkysY1d/9H TLenfETRxFb2zDoGCC1YYRvQJv/SR3Kubbcnk9psdUYgSVwfPObaFvWmRIPURlgwZHEl m9Sw==
X-Gm-Message-State: APjAAAXDNWNCcJCtYs7GQYRFD1FowpErcHtUizzJ9N0XIBSww+iWFc25 NiE2tYcBDY0oK2JQs5lrjueXRX4WW8WZvW1PapszFgcqpG7208MJ
X-Google-Smtp-Source: APXvYqxeIBJfIyAe+29hP0CgpuXEKTaQUsnI2gFv7W9XE4OJmLXurklNdMXqlvac3t3OCGQ8RoWUu1LMiHcKxYJhOhQ=
X-Received: by 2002:adf:f2c4:: with SMTP id d4mr67356592wrp.3.1563808643821; Mon, 22 Jul 2019 08:17:23 -0700 (PDT)
MIME-Version: 1.0
From: Lorenzo Colitti <lorenzo@google.com>
Date: Mon, 22 Jul 2019 11:17:05 -0400
Message-ID: <CAKD1Yr32DXr8fYHP_x7z9pQWwSchey8zQW11vw02bW9ONEV8Kg@mail.gmail.com>
To: captive-portals@ietf.org
Cc: Erik Kline <ek@loon.co>, Warren Kumari <wkumari@google.com>
Content-Type: multipart/alternative; boundary="000000000000b681f7058e469286"
Archived-At: <https://mailarchive.ietf.org/arch/msg/captive-portals/7A4GxHB0uORedw0y-o9tfLXJCRE>
Subject: [Captive-portals] Review of draft-ietf-capport-rfc7710bis
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: Mon, 22 Jul 2019 15:17:30 -0000

I see no major issues and think this draft is ready to advance. A few nits
follow:

1. I think it would be good if the document said that the the API URL
SHOULD be the same for all clients, and that any per-client behaviour
should instead be implemented by making the content of the URL dynamically
generated, if necessary. In the same spirit, this text probably needs an
upper-case SHOULD:

====
   The captive portal operator should ensure that the
   URIs handed out are equivalent to reduce the chance of operational
   problems.  The maximum length of the URI that can be carried in IPv4
   DHCP is 255 bytes, so URIs longer than 255 bytes should not be used
   in IPv6 DHCP or IPv6 RA.
=====


2. I'm surprised that the following text is present. It seems like we
should disallow IP literals for compatibility with IPv6. But perhaps SHOULD
is enough here.

   The URI SHOULD NOT contain an IP address literal.  The URI parameter
   is not null terminated.



3. The section that documents the link relation type should mention what
should happen if the portal is already open. Should the captive portal add
this header to probe responses even if the portal is already open? if it
does not, there is no way for a device to learn the API URL if it connects
to a portal, logs in, disconnects, and then reconnects, because when it
reconnects the portal will be open.


4. In section 4, is it even worth specifying the precedence order? What if
we replaced the entirety of section 4 with:

   A device may learn about Captive Portal API URIs through more than
   one of (or indeed all of) the above options.  It is a network
   configuration error if the learned URIs are not all identical.

   If the URIs learned are not identical, clients MAY use one of more of the
   URIs without distinction.

That would IMO decrease the chances of such a configuration error being
made. :-)