Page MenuHomeFreeBSD

D60256.diff
No OneTemporary

D60256.diff

diff --git a/sbin/dhclient/dhclient.c b/sbin/dhclient/dhclient.c
--- a/sbin/dhclient/dhclient.c
+++ b/sbin/dhclient/dhclient.c
@@ -2816,7 +2816,8 @@
case DHO_DHCP_CLIENT_IDENTIFIER:
case DHO_BOOTFILE_NAME:
case DHO_DHCP_USER_CLASS_ID:
- case DHO_URL:
+ case DHO_CAPTIVE_PORTAL:
+ case DHO_CAPTIVE_PORTAL_LEGACY:
case DHO_SIP_SERVERS:
case DHO_V_I_VENDOR_CLASS:
case DHO_V_I_VENDOR_OPTS:
diff --git a/sbin/dhclient/dhcp-options.5 b/sbin/dhclient/dhcp-options.5
--- a/sbin/dhclient/dhcp-options.5
+++ b/sbin/dhclient/dhcp-options.5
@@ -36,7 +36,7 @@
.\" see ``http://www.isc.org/isc''. To learn more about Vixie
.\" Enterprises, see ``http://www.vix.com''.
.\"
-.Dd January 1, 1995
+.Dd October 2, 2026
.Dt DHCP-OPTIONS 5
.Os
.Sh NAME
@@ -591,9 +591,20 @@
The StreetTalk Directory Assistance (STDA) server option specifies a
list of STDA servers available to the client.
Servers should be listed in order of preference.
-.It Ic option url Ar string ;
-This option specifies the URL that the client may use when using UEFI
-boot from a HTTP server.
+.It Ic option captive-portal Ar string ;
+This option specifies the URI of a captive portal API, as defined by
+RFC 8910.
+The value is a URI, usually of the form
+.Dq Li https:// Ns Ar host Ns Pa /path .
+A single option may contain more than one URI, separated by a space.
+.Pp
+The name
+.Ic url
+is retained as a deprecated alias.
+.It Ic option captive-portal-legacy Ar string ;
+This option specifies the URI of a captive portal API as defined by
+RFC 7710, which used DHCP option code 160.
+RFC 8910 obsoleted RFC 7710 and moved the option to code 114.
.El
.Sh SEE ALSO
.Xr dhclient.conf 5 ,
@@ -602,7 +613,7 @@
.Xr dhclient 8 ,
.Xr dhcpd 8
.Rs
-.%R "RFC 2131, RFC 2132, RFC 3769, RFC 8925"
+.%R "RFC 2131, RFC 2132, RFC 3769, RFC 8910, RFC 8925"
.Re
.Sh AUTHORS
.An -nosplit
diff --git a/sbin/dhclient/dhcp.h b/sbin/dhclient/dhcp.h
--- a/sbin/dhclient/dhcp.h
+++ b/sbin/dhclient/dhcp.h
@@ -173,12 +173,13 @@
#define DHO_STREETTALK_DA_SERVER 76
#define DHO_DHCP_USER_CLASS_ID 77
#define DHO_IPV6_ONLY 108
-#define DHO_URL 114
+#define DHO_CAPTIVE_PORTAL 114
#define DHO_DOMAIN_SEARCH 119
#define DHO_SIP_SERVERS 120
#define DHO_CLASSLESS_ROUTES 121
#define DHO_V_I_VENDOR_CLASS 124
#define DHO_V_I_VENDOR_OPTS 125
+#define DHO_CAPTIVE_PORTAL_LEGACY 160
#define DHO_END 255
/* DHCP message types. */
diff --git a/sbin/dhclient/tables.c b/sbin/dhclient/tables.c
--- a/sbin/dhclient/tables.c
+++ b/sbin/dhclient/tables.c
@@ -179,7 +179,7 @@
{ "option-111", "X", &dhcp_universe, 111 },
{ "option-112", "X", &dhcp_universe, 112 },
{ "option-113", "X", &dhcp_universe, 113 },
- { "url", "t", &dhcp_universe, 114 },
+ { "captive-portal", "t", &dhcp_universe, 114 },
{ "option-115", "X", &dhcp_universe, 115 },
{ "option-116", "X", &dhcp_universe, 116 },
{ "option-117", "X", &dhcp_universe, 117 },
@@ -225,7 +225,7 @@
{ "option-157", "X", &dhcp_universe, 157 },
{ "option-158", "X", &dhcp_universe, 158 },
{ "option-159", "X", &dhcp_universe, 159 },
- { "option-160", "X", &dhcp_universe, 160 },
+ { "captive-portal-legacy", "t", &dhcp_universe, 160 },
{ "option-161", "X", &dhcp_universe, 161 },
{ "option-162", "X", &dhcp_universe, 162 },
{ "option-163", "X", &dhcp_universe, 163 },
@@ -402,8 +402,9 @@
DHO_STREETTALK_DA_SERVER,
DHO_DHCP_USER_CLASS_ID,
DHO_DOMAIN_SEARCH,
- DHO_URL,
+ DHO_CAPTIVE_PORTAL,
DHO_IPV6_ONLY,
+ DHO_CAPTIVE_PORTAL_LEGACY,
/* Presently-undefined options... */
62, 63, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
@@ -412,7 +413,7 @@
118, 120, 122, 123, 124, 125, 126, 127, 128, 129, 130,
131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
- 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166,
+ 155, 156, 157, 158, 159, 161, 162, 163, 164, 165, 166,
167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190,
191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
@@ -443,6 +444,9 @@
(const unsigned char *)dhcp_options[i].name, 0,
(unsigned char *)&dhcp_options[i]);
}
+ /* "url" is a deprecated alias for option 114. */
+ add_hash(dhcp_universe.hash, (const unsigned char *)"url", 0,
+ (unsigned char *)&dhcp_options[DHO_CAPTIVE_PORTAL]);
universe_hash.hash_count = DEFAULT_HASH_SIZE;
add_hash(&universe_hash,
(const unsigned char *)dhcp_universe.name, 0,

File Metadata

Mime Type
text/plain
Expires
Sun, Oct 4, 2:27 PM (15 h, 8 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
40164000
Default Alt Text
D60256.diff (4 KB)

Event Timeline