aboutsummaryrefslogtreecommitdiff
path: root/src/radius/radius_server.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/radius/radius_server.c')
-rw-r--r--src/radius/radius_server.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/radius/radius_server.c b/src/radius/radius_server.c
index b621ada554ee9..70efd11b49d96 100644
--- a/src/radius/radius_server.c
+++ b/src/radius/radius_server.c
@@ -238,6 +238,9 @@ struct radius_server_data {
*/
int pac_key_refresh_time;
+ int eap_teap_auth;
+ int eap_teap_pac_no_inner;
+
/**
* eap_sim_aka_result_ind - EAP-SIM/AKA protected success indication
*
@@ -246,6 +249,8 @@ struct radius_server_data {
*/
int eap_sim_aka_result_ind;
+ int eap_sim_id;
+
/**
* tnc - Trusted Network Connect (TNC)
*
@@ -792,7 +797,10 @@ radius_server_get_new_session(struct radius_server_data *data,
eap_conf.eap_fast_prov = data->eap_fast_prov;
eap_conf.pac_key_lifetime = data->pac_key_lifetime;
eap_conf.pac_key_refresh_time = data->pac_key_refresh_time;
+ eap_conf.eap_teap_auth = data->eap_teap_auth;
+ eap_conf.eap_teap_pac_no_inner = data->eap_teap_pac_no_inner;
eap_conf.eap_sim_aka_result_ind = data->eap_sim_aka_result_ind;
+ eap_conf.eap_sim_id = data->eap_sim_id;
eap_conf.tnc = data->tnc;
eap_conf.wps = data->wps;
eap_conf.pwd_group = data->pwd_group;
@@ -1136,6 +1144,13 @@ radius_server_encapsulate_eap(struct radius_server_data *data,
len)) {
RADIUS_DEBUG("Failed to add MPPE key attributes");
}
+
+ if (sess->eap_if->eapSessionId &&
+ !radius_msg_add_attr(msg, RADIUS_ATTR_EAP_KEY_NAME,
+ sess->eap_if->eapSessionId,
+ sess->eap_if->eapSessionIdLen)) {
+ RADIUS_DEBUG("Failed to add EAP-Key-Name attribute");
+ }
}
#ifdef CONFIG_HS20
@@ -2348,6 +2363,8 @@ radius_server_init(struct radius_server_conf *conf)
if (data == NULL)
return NULL;
+ data->auth_sock = -1;
+ data->acct_sock = -1;
dl_list_init(&data->erp_keys);
os_get_reltime(&data->start_time);
data->conf_ctx = conf->conf_ctx;
@@ -2375,8 +2392,11 @@ radius_server_init(struct radius_server_conf *conf)
data->eap_fast_prov = conf->eap_fast_prov;
data->pac_key_lifetime = conf->pac_key_lifetime;
data->pac_key_refresh_time = conf->pac_key_refresh_time;
+ data->eap_teap_auth = conf->eap_teap_auth;
+ data->eap_teap_pac_no_inner = conf->eap_teap_pac_no_inner;
data->get_eap_user = conf->get_eap_user;
data->eap_sim_aka_result_ind = conf->eap_sim_aka_result_ind;
+ data->eap_sim_id = conf->eap_sim_id;
data->tnc = conf->tnc;
data->wps = conf->wps;
data->pwd_group = conf->pwd_group;