aboutsummaryrefslogtreecommitdiffstats
path: root/src/ap
diff options
context:
space:
mode:
authorJouni Malinen <j@w1.fi>2012-06-17 17:43:36 +0300
committerJouni Malinen <j@w1.fi>2012-06-17 17:43:36 +0300
commitbde7ba6caf3a2e56b277d9fcf3ff05b0606cb833 (patch)
tree58e7f172c472d1410328d34b040ada38bd568598 /src/ap
parentc2d76aa6247b4769b935f11c902aa3f31278278e (diff)
downloadexternal_wpa_supplicant_8_ti-bde7ba6caf3a2e56b277d9fcf3ff05b0606cb833.zip
external_wpa_supplicant_8_ti-bde7ba6caf3a2e56b277d9fcf3ff05b0606cb833.tar.gz
external_wpa_supplicant_8_ti-bde7ba6caf3a2e56b277d9fcf3ff05b0606cb833.tar.bz2
RADIUS DAS: Validate Event-Timestamp
DAS will now validate Event-Timestamp value to be within an acceptable time window (300 seconds by default; can be set using radius_das_time_window parameter). In addition, Event-Timestamp can be required in Disconnect-Request and CoA-Request messages with radius_das_require_event_timestamp=1. Signed-hostap: Jouni Malinen <j@w1.fi>
Diffstat (limited to 'src/ap')
-rw-r--r--src/ap/ap_config.c2
-rw-r--r--src/ap/ap_config.h2
-rw-r--r--src/ap/hostapd.c3
3 files changed, 7 insertions, 0 deletions
diff --git a/src/ap/ap_config.c b/src/ap/ap_config.c
index e916f12..d8f55a2 100644
--- a/src/ap/ap_config.c
+++ b/src/ap/ap_config.c
@@ -87,6 +87,8 @@ void hostapd_config_defaults_bss(struct hostapd_bss_config *bss)
#ifdef CONFIG_IEEE80211R
bss->ft_over_ds = 1;
#endif /* CONFIG_IEEE80211R */
+
+ bss->radius_das_time_window = 300;
}
diff --git a/src/ap/ap_config.h b/src/ap/ap_config.h
index 78c9068..1f35f72 100644
--- a/src/ap/ap_config.h
+++ b/src/ap/ap_config.h
@@ -187,6 +187,8 @@ struct hostapd_bss_config {
struct hostapd_radius_attr *radius_auth_req_attr;
struct hostapd_radius_attr *radius_acct_req_attr;
int radius_das_port;
+ unsigned int radius_das_time_window;
+ int radius_das_require_event_timestamp;
struct hostapd_ip_addr radius_das_client_addr;
u8 *radius_das_shared_secret;
size_t radius_das_shared_secret_len;
diff --git a/src/ap/hostapd.c b/src/ap/hostapd.c
index 9d6fd7b..50239b0 100644
--- a/src/ap/hostapd.c
+++ b/src/ap/hostapd.c
@@ -639,6 +639,9 @@ static int hostapd_setup_bss(struct hostapd_data *hapd, int first)
das_conf.shared_secret_len =
hapd->conf->radius_das_shared_secret_len;
das_conf.client_addr = &hapd->conf->radius_das_client_addr;
+ das_conf.time_window = hapd->conf->radius_das_time_window;
+ das_conf.require_event_timestamp =
+ hapd->conf->radius_das_require_event_timestamp;
hapd->radius_das = radius_das_init(&das_conf);
if (hapd->radius_das == NULL) {
wpa_printf(MSG_ERROR, "RADIUS DAS initialization "