Lines Matching defs:sm

75 static void * eap_sim_init(struct eap_sm *sm)
79 if (sm->eap_sim_db_priv == NULL) {
93 static void eap_sim_reset(struct eap_sm *sm, void *priv)
102 static struct wpabuf * eap_sim_build_start(struct eap_sm *sm,
130 } else if (sm->identity && sm->identity_len > 0 &&
131 sm->identity[0] == EAP_SIM_REAUTH_ID_PREFIX) {
148 static int eap_sim_build_encr(struct eap_sm *sm, struct eap_sim_data *data,
153 if (!(sm->eap_sim_id & 0x01)) {
158 eap_sim_db_get_next_pseudonym(sm->eap_sim_db_priv,
165 if (!(sm->eap_sim_id & 0x02)) {
170 eap_sim_db_get_next_reauth_id(sm->eap_sim_db_priv,
225 static struct wpabuf * eap_sim_build_challenge(struct eap_sm *sm,
238 if (eap_sim_build_encr(sm, data, msg, 0, NULL)) {
243 if (sm->eap_sim_aka_result_ind) {
255 static struct wpabuf * eap_sim_build_reauth(struct eap_sm *sm,
270 eap_sim_derive_keys_reauth(data->counter, sm->identity,
271 sm->identity_len, data->nonce_s, data->mk,
277 if (eap_sim_build_encr(sm, data, msg, data->counter, data->nonce_s)) {
282 if (sm->eap_sim_aka_result_ind) {
302 static struct wpabuf * eap_sim_build_notification(struct eap_sm *sm,
341 static struct wpabuf * eap_sim_buildReq(struct eap_sm *sm, void *priv, u8 id)
347 return eap_sim_build_start(sm, data, id);
349 return eap_sim_build_challenge(sm, data, id);
351 return eap_sim_build_reauth(sm, data, id);
353 return eap_sim_build_notification(sm, data, id);
363 static Boolean eap_sim_check(struct eap_sm *sm, void *priv,
430 static void eap_sim_process_start(struct eap_sm *sm,
463 os_free(sm->identity);
464 sm->identity = new_identity;
465 os_memcpy(sm->identity, attr->identity, attr->identity_len);
466 sm->identity_len = attr->identity_len;
469 sm->identity, sm->identity_len);
470 username = sim_get_username(sm->identity, sm->identity_len);
478 sm->eap_sim_db_priv, username);
500 sm->eap_sim_db_priv, username);
541 sm->eap_sim_db_priv, data->permanent, EAP_SIM_MAX_CHAL,
542 (u8 *) data->rand, (u8 *) data->kc, (u8 *) data->sres, sm);
546 sm->method_pending = METHOD_PENDING_WAIT;
556 os_strlcpy(sm->imsi, &data->permanent[1], sizeof(sm->imsi));
558 identity_len = sm->identity_len;
559 while (identity_len > 0 && sm->identity[identity_len - 1] == '\0') {
565 sm->identity, identity_len);
569 eap_sim_derive_mk(sm->identity, identity_len, attr->nonce_mt,
584 static void eap_sim_process_challenge(struct eap_sm *sm,
602 if (sm->eap_sim_aka_result_ind && attr->result_ind) {
610 eap_sim_db_add_pseudonym(sm->eap_sim_db_priv, data->permanent,
615 eap_sim_db_add_reauth(sm->eap_sim_db_priv, data->permanent,
623 static void eap_sim_process_reauth(struct eap_sm *sm,
675 if (sm->eap_sim_aka_result_ind && attr->result_ind) {
683 eap_sim_db_add_reauth(sm->eap_sim_db_priv, data->permanent,
688 eap_sim_db_remove_reauth(sm->eap_sim_db_priv, data->reauth);
697 eap_sim_db_remove_reauth(sm->eap_sim_db_priv, data->reauth);
703 static void eap_sim_process_client_error(struct eap_sm *sm,
717 static void eap_sim_process_notification(struct eap_sm *sm,
730 static void eap_sim_process(struct eap_sm *sm, void *priv,
770 eap_sim_process_client_error(sm, data, respData, &attr);
776 eap_sim_process_start(sm, data, respData, &attr);
779 eap_sim_process_challenge(sm, data, respData, &attr);
782 eap_sim_process_reauth(sm, data, respData, &attr);
785 eap_sim_process_notification(sm, data, respData, &attr);
795 static Boolean eap_sim_isDone(struct eap_sm *sm, void *priv)
802 static u8 * eap_sim_getKey(struct eap_sm *sm, void *priv, size_t *len)
818 static u8 * eap_sim_get_emsk(struct eap_sm *sm, void *priv, size_t *len)
834 static Boolean eap_sim_isSuccess(struct eap_sm *sm, void *priv)
841 static u8 * eap_sim_get_session_id(struct eap_sm *sm, void *priv, size_t *len)