Lines Matching refs:data

60 	struct eap_mschapv2_data *data;  in eap_mschapv2_init()  local
62 data = os_zalloc(sizeof(*data)); in eap_mschapv2_init()
63 if (data == NULL) in eap_mschapv2_init()
65 data->state = CHALLENGE; in eap_mschapv2_init()
68 os_memcpy(data->auth_challenge, sm->auth_challenge, in eap_mschapv2_init()
70 data->auth_challenge_from_tls = 1; in eap_mschapv2_init()
74 data->peer_challenge = os_memdup(sm->peer_challenge, in eap_mschapv2_init()
76 if (data->peer_challenge == NULL) { in eap_mschapv2_init()
77 os_free(data); in eap_mschapv2_init()
82 return data; in eap_mschapv2_init()
88 struct eap_mschapv2_data *data = priv; in eap_mschapv2_reset() local
89 if (data == NULL) in eap_mschapv2_reset()
92 os_free(data->peer_challenge); in eap_mschapv2_reset()
93 bin_clear_free(data, sizeof(*data)); in eap_mschapv2_reset()
98 struct eap_sm *sm, struct eap_mschapv2_data *data, u8 id) in eap_mschapv2_build_challenge() argument
104 if (!data->auth_challenge_from_tls && in eap_mschapv2_build_challenge()
105 random_get_bytes(data->auth_challenge, CHALLENGE_LEN)) { in eap_mschapv2_build_challenge()
108 data->state = FAILURE; in eap_mschapv2_build_challenge()
118 data->state = FAILURE; in eap_mschapv2_build_challenge()
128 if (!data->auth_challenge_from_tls) in eap_mschapv2_build_challenge()
129 wpabuf_put_data(req, data->auth_challenge, CHALLENGE_LEN); in eap_mschapv2_build_challenge()
133 data->auth_challenge, CHALLENGE_LEN); in eap_mschapv2_build_challenge()
141 struct eap_sm *sm, struct eap_mschapv2_data *data, u8 id) in eap_mschapv2_build_success_req() argument
149 ms_len = sizeof(*ms) + 2 + 2 * sizeof(data->auth_response) + 1 + 2 + in eap_mschapv2_build_success_req()
156 data->state = FAILURE; in eap_mschapv2_build_success_req()
162 ms->mschapv2_id = data->resp_mschapv2_id; in eap_mschapv2_build_success_req()
169 wpabuf_put(req, sizeof(data->auth_response) * 2), in eap_mschapv2_build_success_req()
170 sizeof(data->auth_response) * 2 + 1, in eap_mschapv2_build_success_req()
171 data->auth_response, sizeof(data->auth_response)); in eap_mschapv2_build_success_req()
185 struct eap_sm *sm, struct eap_mschapv2_data *data, u8 id) in eap_mschapv2_build_failure_req() argument
199 data->state = FAILURE; in eap_mschapv2_build_failure_req()
205 ms->mschapv2_id = data->resp_mschapv2_id; in eap_mschapv2_build_failure_req()
220 struct eap_mschapv2_data *data = priv; in eap_mschapv2_buildReq() local
222 switch (data->state) { in eap_mschapv2_buildReq()
224 return eap_mschapv2_build_challenge(sm, data, id); in eap_mschapv2_buildReq()
226 return eap_mschapv2_build_success_req(sm, data, id); in eap_mschapv2_buildReq()
228 return eap_mschapv2_build_failure_req(sm, data, id); in eap_mschapv2_buildReq()
231 "buildReq", data->state); in eap_mschapv2_buildReq()
241 struct eap_mschapv2_data *data = priv; in eap_mschapv2_check() local
254 if (data->state == CHALLENGE && in eap_mschapv2_check()
261 if (data->state == SUCCESS_REQ && in eap_mschapv2_check()
269 if (data->state == FAILURE_REQ && in eap_mschapv2_check()
281 struct eap_mschapv2_data *data, in eap_mschapv2_process_response() argument
308 data->state = FAILURE; in eap_mschapv2_process_response()
311 data->resp_mschapv2_id = resp->mschapv2_id; in eap_mschapv2_process_response()
321 if (data->peer_challenge) { in eap_mschapv2_process_response()
324 peer_challenge = data->peer_challenge; in eap_mschapv2_process_response()
366 if (challenge_hash(peer_challenge, data->auth_challenge, in eap_mschapv2_process_response()
382 data->state = FAILURE; in eap_mschapv2_process_response()
390 res = generate_nt_response_pwhash(data->auth_challenge, in eap_mschapv2_process_response()
396 res = generate_nt_response(data->auth_challenge, in eap_mschapv2_process_response()
404 data->state = FAILURE; in eap_mschapv2_process_response()
413 data->state = SUCCESS_REQ; in eap_mschapv2_process_response()
424 data->state = FAILURE; in eap_mschapv2_process_response()
430 pw_hash, peer_challenge, data->auth_challenge, in eap_mschapv2_process_response()
432 data->auth_response) < 0 || in eap_mschapv2_process_response()
435 data->master_key)) { in eap_mschapv2_process_response()
436 data->state = FAILURE; in eap_mschapv2_process_response()
439 data->master_key_valid = 1; in eap_mschapv2_process_response()
441 data->master_key, MSCHAPV2_KEY_LEN); in eap_mschapv2_process_response()
446 data->state = FAILURE_REQ; in eap_mschapv2_process_response()
452 struct eap_mschapv2_data *data, in eap_mschapv2_process_success_resp() argument
469 data->state = SUCCESS; in eap_mschapv2_process_success_resp()
473 data->state = FAILURE; in eap_mschapv2_process_success_resp()
479 struct eap_mschapv2_data *data, in eap_mschapv2_process_failure_resp() argument
501 data->state = FAILURE; in eap_mschapv2_process_failure_resp()
508 struct eap_mschapv2_data *data = priv; in eap_mschapv2_process() local
512 data->state = FAILURE; in eap_mschapv2_process()
516 switch (data->state) { in eap_mschapv2_process()
518 eap_mschapv2_process_response(sm, data, respData); in eap_mschapv2_process()
521 eap_mschapv2_process_success_resp(sm, data, respData); in eap_mschapv2_process()
524 eap_mschapv2_process_failure_resp(sm, data, respData); in eap_mschapv2_process()
528 "process", data->state); in eap_mschapv2_process()
536 struct eap_mschapv2_data *data = priv; in eap_mschapv2_isDone() local
537 return data->state == SUCCESS || data->state == FAILURE; in eap_mschapv2_isDone()
543 struct eap_mschapv2_data *data = priv; in eap_mschapv2_getKey() local
546 if (data->state != SUCCESS || !data->master_key_valid) in eap_mschapv2_getKey()
554 if (get_asymetric_start_key(data->master_key, key, MSCHAPV2_KEY_LEN, 0, in eap_mschapv2_getKey()
556 get_asymetric_start_key(data->master_key, key + MSCHAPV2_KEY_LEN, in eap_mschapv2_getKey()
569 struct eap_mschapv2_data *data = priv; in eap_mschapv2_isSuccess() local
570 return data->state == SUCCESS; in eap_mschapv2_isSuccess()