[Captive-portals] HTTP Proxy option

Michael Richardson <mcr+ietf@sandelman.ca> Sun, 06 July 2025 20:31 UTC

Return-Path: <mcr+ietf@sandelman.ca>
X-Original-To: captive-portals@mail2.ietf.org
Delivered-To: captive-portals@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id 730953F3B61C; Sun, 6 Jul 2025 13:31:15 -0700 (PDT)
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -1.867
X-Spam-Level:
X-Spam-Status: No, score=-1.867 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.232, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key) header.d=sandelman.ca
Received: from mail2.ietf.org ([166.84.6.31]) by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id qso0rSWgcygi; Sun, 6 Jul 2025 13:31:14 -0700 (PDT)
Received: from tuna.sandelman.ca (tuna.sandelman.ca [209.87.249.19]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id C83E33F3B613; Sun, 6 Jul 2025 13:31:14 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by tuna.sandelman.ca (Postfix) with ESMTP id 6AB143898C; Sun, 6 Jul 2025 16:31:14 -0400 (EDT)
Received: from tuna.sandelman.ca ([127.0.0.1]) by localhost (localhost [127.0.0.1]) (amavis, port 10024) with LMTP id Bx_hygnmr9GC; Sun, 6 Jul 2025 16:31:12 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sandelman.ca; s=mail; t=1751833872; bh=LssgzpSdoDSgDfmhE4blSxWK6o2p5kAOVCw+mH26hPY=; h=From:To:Subject:In-Reply-To:References:Date:From; b=f157HvqOsyvINGYUohszMRlbHzwfzkV9pPI+YvIB8g1FjLKg5tc9GhbAYn0nwG0fz UEa3tLrxpsJsiLC9kx6EalsGI9MEblj2ozFhUdvV7HjGebzHMEhp0VjC5e4+rGLhI5 +KDwWgxPTSUQb+WXipjPff9FkkVMJZM7WuYuvcv/mMAZzoD6HNSu93QukOiApNALVS elsmIKG5bkinE+YJxHimqy19F6j80wrgx0jGFzX6PS3UMw895lztCkViHkHf6KBtqk zACSL9ZzXNLB62hgnuVjf4guSc3dx4wT3E3ShHcL8XwcUlxviowd12cjWmbuBBEVRo uLKhTZj/t3VxA==
Received: from sandelman.ca (obiwan.sandelman.ca [209.87.249.21]) by tuna.sandelman.ca (Postfix) with ESMTP id C8BD93898B; Sun, 6 Jul 2025 16:31:12 -0400 (EDT)
Received: from obiwan.sandelman.ca (obiwan.sandelman.ca [127.0.0.1]) by sandelman.ca (Postfix) with ESMTP id C2A4A1C8; Sun, 6 Jul 2025 16:31:12 -0400 (EDT)
From: Michael Richardson <mcr+ietf@sandelman.ca>
To: captive-portals@ietf.org, dhcwg@ietf.org
In-Reply-To: <20250706200653.6C6713898D@tuna.sandelman.ca>
References: <20250706200653.6C6713898D@tuna.sandelman.ca>
X-Mailer: MH-E 8.6+git; nmh 1.8+dev; GNU Emacs 28.2
X-Face: $\n1pF)h^`}$H>Hk{L"x@)JS7<%Az}5RyS@k9X%29-lHB$Ti.V>2bi.~ehC0;<'$9xN5Ub# z!G,p`nR&p7Fz@^UXIn156S8.~^@MJ*mMsD7=QFeq%AL4m<nPbLgmtKK-5dC@#:k
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="=-=-="; micalg="pgp-sha512"; protocol="application/pgp-signature"
Date: Sun, 06 Jul 2025 16:31:12 -0400
Message-ID: <18123.1751833872@obiwan.sandelman.ca>
Message-ID-Hash: 6DSZBH52IX4DNSFR3Q4TX3NHO35BBCSQ
X-Message-ID-Hash: 6DSZBH52IX4DNSFR3Q4TX3NHO35BBCSQ
X-MailFrom: mcr+ietf@sandelman.ca
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-captive-portals.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [Captive-portals] HTTP Proxy option
List-Id: Discussion of issues related to captive portals <captive-portals.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/captive-portals/Oe2inhQ43Hgu-eKeBTM9g3rurTE>
List-Archive: <https://mailarchive.ietf.org/arch/browse/captive-portals>
List-Help: <mailto:captive-portals-request@ietf.org?subject=help>
List-Owner: <mailto:captive-portals-owner@ietf.org>
List-Post: <mailto:captive-portals@ietf.org>
List-Subscribe: <mailto:captive-portals-join@ietf.org>
List-Unsubscribe: <mailto:captive-portals-leave@ietf.org>

{resending without typo on captive-portals@ietf.org.  See I looked up the ML
name to be sure, but then fat-fingered it...}

https://www.iana.org/assignments/bootp-dhcp-parameters/bootp-dhcp-parameters.xhtml#options
lists option 135, "HTTP Proxy for phone-specific applications"
but with no reference!

What does this option do, and who uses it?

I was looking if there was a way to set an HTTP Proxy, specifically in the
context of a captive-portal network that wanted to quarantine untrustworthy
hosts, but also wanted to allow them to reach out to a firmware update server
in order to get patched back to trustworthiness.

Going through an HTTP proxy allows the captive-portal/quarantine system to
see what end-system is being asked for.  In the case of HTTP, the content
might even be cached, which is useful in avoiding a (bandwidth) DoS.
While most updates would be HTTPS now, using CONNECT still shows the URL.

{The infrastructure, once it figured out that the host was trustworthy, would
disconnect the client device, and when it reconnected, it would be put on a
real network.  Or, the user might ask for an exception via the portal interface}

My conclusion is that no such DHCP option was ever practical/common.

The Proxy auto-config (PAC) is javascript, which is not so widely useful, and
not very secure.   There is the Web Proxy Auto-Discovery Protocol (WPAD),
which claims to be available via DHCP option, but I don't think any DHCP
option was ever recorded by IANA... it seems it's "site-local" option 252
according to: https://en.wikipedia.org/wiki/Web_Proxy_Auto-Discovery_Protocol

--
Michael Richardson <mcr+IETF@sandelman.ca>   . o O ( IPv6 IøT consulting )
           Sandelman Software Works Inc, Ottawa and Worldwide