aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-dhcp.c
diff options
context:
space:
mode:
authorAlexis La Goutte <alexis.lagoutte@gmail.com>2020-09-22 09:26:08 +0200
committerAndersBroman <a.broman58@gmail.com>2020-09-23 06:29:38 +0000
commitb2380385a39213b84681a3f596bb44eb90d383aa (patch)
treeb25f9517c0d39affc4cd294eecbfc95ed1f1cf1b /epan/dissectors/packet-dhcp.c
parent6387fd77296c35a2e5eba141a4a119334ed252c9 (diff)
DHCP: Update Captive-Portal to RFC8910
now using code 114 (some conflict with code 160 and Polycom device)
Diffstat (limited to 'epan/dissectors/packet-dhcp.c')
-rw-r--r--epan/dissectors/packet-dhcp.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/epan/dissectors/packet-dhcp.c b/epan/dissectors/packet-dhcp.c
index 2f6f47722b..a970f13392 100644
--- a/epan/dissectors/packet-dhcp.c
+++ b/epan/dissectors/packet-dhcp.c
@@ -62,6 +62,7 @@
* RFC 7710: Captive-Portal Identification Using DHCP or Router Advertisements (RAs)
* RFC 7839: Access-Network-Identifier Option in DHCP
* RFC 8357: Generalized UDP Source Port for DHCP Relay
+ * RFC 8910: Captive-Portal Identification in DHCP and Router Advertisements (RAs)
* draft-ietf-dhc-fqdn-option-07.txt
* TFTP Server Address Option for DHCPv4 [draft-raj-dhc-tftp-addr-option-06.txt: https://tools.ietf.org/html/draft-raj-dhc-tftp-addr-option-06]
* BOOTP and DHCP Parameters
@@ -528,6 +529,7 @@ static int hf_dhcp_option_tz_pcode = -1; /* 100 */
static int hf_dhcp_option_tz_tcode = -1; /* 101 */
static int hf_dhcp_option_netinfo_parent_server_address = -1; /* 112 */
static int hf_dhcp_option_netinfo_parent_server_tag = -1; /* 113 */
+static int hf_dhcp_option_captive_portal = -1; /* 114 (ex 160) */
static int hf_dhcp_option_dhcp_auto_configuration = -1; /* 116 */
static int hf_dhcp_option_dhcp_name_service_search_option = -1; /* 117 */
static int hf_dhcp_option_dhcp_dns_domain_search_list_rfc_3396_detected = -1; /* 119 */
@@ -601,7 +603,6 @@ static int hf_dhcp_option_pcp_server = -1; /* 158 */
static int hf_dhcp_option_portparams_offset = -1; /* 159 */
static int hf_dhcp_option_portparams_psid_length = -1; /* 159 */
static int hf_dhcp_option_portparams_psid = -1; /* 159 */
-static int hf_dhcp_option_captive_portal = -1; /* 160 */
static int hf_dhcp_option_mudurl = -1; /* 161 */
static int hf_dhcp_option_pxe_config_file = -1; /* 209 */
static int hf_dhcp_option_pxe_path_prefix = -1; /* 210 */
@@ -1488,7 +1489,7 @@ static struct opt_info default_dhcp_opt[DHCP_OPT_NUM] = {
/* 111 */ { "Unassigned", opaque, NULL },
/* 112 */ { "NetInfo Parent Server Address", ipv4_list, &hf_dhcp_option_netinfo_parent_server_address },
/* 113 */ { "NetInfo Parent Server Tag", string, &hf_dhcp_option_netinfo_parent_server_tag },
-/* 114 */ { "URL [TODO:RFC3679]", opaque, NULL },
+/* 114 */ { "DHCP Captive-Portal", special, NULL },
/* 115 */ { "Removed/Unassigned", opaque, NULL },
/* 116 */ { "DHCP Auto-Configuration", val_u_byte, &hf_dhcp_option_dhcp_auto_configuration },
/* 117 */ { "Name Service Search", special, NULL },
@@ -1534,7 +1535,7 @@ static struct opt_info default_dhcp_opt[DHCP_OPT_NUM] = {
/* 157 */ { "Leasequery Data Source", val_boolean, &hf_dhcp_option_bulk_lease_data_source },
/* 158 */ { "PCP Server", special, NULL },
/* 159 */ { "Portparams", special, NULL },
-/* 160 */ { "DHCP Captive-Portal", special, NULL },
+/* 160 */ { "Unassigned (ex DHCP Captive-Portal)", special, NULL }, /* Previously assigned by [RFC7710]; known to also be used by Polycom. */
/* 161 */ { "Manufacturer Usage Description", string, &hf_dhcp_option_mudurl},
/* 162 */ { "Unassigned", opaque, NULL },
/* 163 */ { "Unassigned", opaque, NULL },
@@ -10257,6 +10258,7 @@ proto_reg_handoff_dhcp(void)
dissector_add_uint("dhcp.option", 94, create_dissector_handle( dissect_dhcpopt_client_network_interface_id, -1 ));
dissector_add_uint("dhcp.option", 97, create_dissector_handle( dissect_dhcpopt_client_identifier_uuid, -1 ));
dissector_add_uint("dhcp.option", 99, create_dissector_handle( dissect_dhcpopt_civic_location, -1 ));
+ dissector_add_uint("dhcp.option", 114, create_dissector_handle( dissect_dhcpopt_dhcp_captive_portal, -1 ));
dissector_add_uint("dhcp.option", 117, create_dissector_handle( dissect_dhcpopt_name_server_search, -1 ));
dissector_add_uint("dhcp.option", 119, create_dissector_handle( dissect_dhcpopt_dhcp_domain_search, -1 ));
dissector_add_uint("dhcp.option", 120, create_dissector_handle( dissect_dhcpopt_sip_servers, -1 ));