mirror of
https://github.com/vanhoefm/fragattacks.git
synced 2024-11-25 00:38:24 -05:00
HS 2.0: Terms and Conditions attributes in Access-Request messages
This extends hostapd with two new configuration parameters (hs20_t_c_filename and hs20_t_c_timestamp) that can be used to specify that the Terms and Conditions attributes are to be added into all Access-Request messages for Hotspot 2.0 STAs. Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
This commit is contained in:
parent
c3d45e130a
commit
6cb8f4f382
@ -3629,6 +3629,11 @@ static int hostapd_config_fill(struct hostapd_config *conf,
|
||||
bss->subscr_remediation_url = os_strdup(pos);
|
||||
} else if (os_strcmp(buf, "subscr_remediation_method") == 0) {
|
||||
bss->subscr_remediation_method = atoi(pos);
|
||||
} else if (os_strcmp(buf, "hs20_t_c_filename") == 0) {
|
||||
os_free(bss->t_c_filename);
|
||||
bss->t_c_filename = os_strdup(pos);
|
||||
} else if (os_strcmp(buf, "hs20_t_c_timestamp") == 0) {
|
||||
bss->t_c_timestamp = strtol(pos, NULL, 0);
|
||||
#endif /* CONFIG_HS20 */
|
||||
#ifdef CONFIG_MBO
|
||||
} else if (os_strcmp(buf, "mbo") == 0) {
|
||||
|
@ -2158,6 +2158,18 @@ own_ip_addr=127.0.0.1
|
||||
# channels 36-48):
|
||||
#hs20_operating_class=5173
|
||||
|
||||
# Terms and Conditions information
|
||||
#
|
||||
# hs20_t_c_filename contains the Terms and Conditions filename that the AP
|
||||
# indicates in RADIUS Access-Request messages.
|
||||
#hs20_t_c_filename=terms-and-conditions
|
||||
#
|
||||
# hs20_t_c_timestamp contains the Terms and Conditions timestamp that the AP
|
||||
# indicates in RADIUS Access-Request messages. Usually, this contains the number
|
||||
# of seconds since January 1, 1970 00:00 UTC showing the time when the file was
|
||||
# last modified.
|
||||
#hs20_t_c_timestamp=1234567
|
||||
|
||||
# OSU and Operator icons
|
||||
# <Icon Width>:<Icon Height>:<Language code>:<Icon Type>:<Name>:<file path>
|
||||
#hs20_icon=32:32:eng:image/png:icon32:/tmp/icon32.png
|
||||
|
@ -620,6 +620,7 @@ void hostapd_config_free_bss(struct hostapd_bss_config *conf)
|
||||
os_free(conf->hs20_operator_icon);
|
||||
}
|
||||
os_free(conf->subscr_remediation_url);
|
||||
os_free(conf->t_c_filename);
|
||||
#endif /* CONFIG_HS20 */
|
||||
|
||||
wpabuf_free(conf->vendor_elements);
|
||||
|
@ -585,6 +585,8 @@ struct hostapd_bss_config {
|
||||
unsigned int hs20_deauth_req_timeout;
|
||||
char *subscr_remediation_url;
|
||||
u8 subscr_remediation_method;
|
||||
char *t_c_filename;
|
||||
u32 t_c_timestamp;
|
||||
#endif /* CONFIG_HS20 */
|
||||
|
||||
u8 wps_rf_bands; /* RF bands for WPS (WPS_RF_*) */
|
||||
|
@ -722,6 +722,31 @@ void ieee802_1x_encapsulate_radius(struct hostapd_data *hapd,
|
||||
"Could not add HS 2.0 Roaming Consortium");
|
||||
goto fail;
|
||||
}
|
||||
|
||||
if (hapd->conf->t_c_filename) {
|
||||
be32 timestamp;
|
||||
|
||||
if (!radius_msg_add_wfa(
|
||||
msg,
|
||||
RADIUS_VENDOR_ATTR_WFA_HS20_T_C_FILENAME,
|
||||
(const u8 *) hapd->conf->t_c_filename,
|
||||
os_strlen(hapd->conf->t_c_filename))) {
|
||||
wpa_printf(MSG_ERROR,
|
||||
"Could not add HS 2.0 T&C Filename");
|
||||
goto fail;
|
||||
}
|
||||
|
||||
timestamp = host_to_be32(hapd->conf->t_c_timestamp);
|
||||
if (!radius_msg_add_wfa(
|
||||
msg,
|
||||
RADIUS_VENDOR_ATTR_WFA_HS20_TIMESTAMP,
|
||||
(const u8 *) ×tamp,
|
||||
sizeof(timestamp))) {
|
||||
wpa_printf(MSG_ERROR,
|
||||
"Could not add HS 2.0 Timestamp");
|
||||
goto fail;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif /* CONFIG_HS20 */
|
||||
|
||||
|
@ -199,6 +199,8 @@ enum {
|
||||
RADIUS_VENDOR_ATTR_WFA_HS20_DEAUTH_REQ = 4,
|
||||
RADIUS_VENDOR_ATTR_WFA_HS20_SESSION_INFO_URL = 5,
|
||||
RADIUS_VENDOR_ATTR_WFA_HS20_ROAMING_CONSORTIUM = 6,
|
||||
RADIUS_VENDOR_ATTR_WFA_HS20_T_C_FILENAME = 7,
|
||||
RADIUS_VENDOR_ATTR_WFA_HS20_TIMESTAMP = 8,
|
||||
};
|
||||
|
||||
#ifdef _MSC_VER
|
||||
|
Loading…
Reference in New Issue
Block a user