From 7ba72855939fc53eb8b6d9def386564579780786 Mon Sep 17 00:00:00 2001 From: Baptiste Daroussin Date: Fri, 2 Oct 2026 21:54:25 +0200 Subject: [PATCH] dhclient: export the Captive Portal URI to the script Differential Revision= https://reviews.freebsd.org/D60259 --- sbin/dhclient/dhclient.c | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/sbin/dhclient/dhclient.c b/sbin/dhclient/dhclient.c index a9425707577c..bef956645b85 100644 --- a/sbin/dhclient/dhclient.c +++ b/sbin/dhclient/dhclient.c @@ -2431,10 +2431,21 @@ supersede: if (len) { char name[256]; - if (dhcp_option_ev_name(name, sizeof(name), + /* + * The option is named "captive-portal", so the + * generic name derived below would be + * new_captive_portal / old_captive_portal. + * Append "_url" suffix so that the variable name + * says that the value is a URL. + */ + if (i == DHO_CAPTIVE_PORTAL) + strlcpy(name, "captive_portal_url", + sizeof(name)); + else if (!dhcp_option_ev_name(name, sizeof(name), &dhcp_options[i])) - script_set_env(ip->client, prefix, name, - pretty_print_option(i, dp, len, 0, 0)); + continue; + script_set_env(ip->client, prefix, name, + pretty_print_option(i, dp, len, 0, 0)); } } snprintf(tbuf, sizeof(tbuf), "%d", (int)lease->expiry);