Lines Matching defs:data

36 	/* followed by data */
106 struct eap_mschapv2_data *data;
107 data = os_zalloc(sizeof(*data));
108 if (data == NULL)
112 data->peer_challenge = os_malloc(MSCHAPV2_CHAL_LEN);
113 if (data->peer_challenge == NULL) {
114 eap_mschapv2_deinit(sm, data);
117 os_memcpy(data->peer_challenge, sm->peer_challenge,
122 data->auth_challenge = os_malloc(MSCHAPV2_CHAL_LEN);
123 if (data->auth_challenge == NULL) {
124 eap_mschapv2_deinit(sm, data);
127 os_memcpy(data->auth_challenge, sm->auth_challenge,
131 data->phase2 = sm->init_phase2;
133 return data;
139 struct eap_mschapv2_data *data = priv;
140 os_free(data->peer_challenge);
141 os_free(data->auth_challenge);
142 wpabuf_free(data->prev_challenge);
143 bin_clear_free(data, sizeof(*data));
148 struct eap_sm *sm, struct eap_mschapv2_data *data, u8 id,
176 if (data->prev_error) {
192 if (data->peer_challenge) {
195 peer_challenge = data->peer_challenge;
202 if (data->auth_challenge) {
205 auth_challenge = data->auth_challenge;
210 data->auth_response, data->master_key)) {
216 data->auth_response_valid = 1;
217 data->master_key_valid = 1;
231 * @data: Pointer to private EAP method data from eap_mschapv2_init()
234 * @req_len: Length of the EAP-MSCHAPv2 data
240 struct eap_sm *sm, struct eap_mschapv2_data *data,
253 wpa_printf(MSG_INFO, "EAP-MSCHAPV2: Too short challenge data "
276 if (data->passwd_change_challenge_valid) {
279 challenge = data->passwd_change_challenge;
292 return eap_mschapv2_challenge_reply(sm, data, id, req->mschapv2_id,
298 struct eap_mschapv2_data *data)
305 data->prev_error = 0;
336 * @data: Pointer to private EAP method data from eap_mschapv2_init()
339 * @req_len: Length of the EAP-MSCHAPv2 data
345 struct eap_mschapv2_data *data,
357 if (!data->auth_response_valid ||
358 mschapv2_verify_auth_response(data->auth_response, pos, len)) {
391 data->success = 1;
393 if (data->prev_error == ERROR_PASSWD_EXPIRED)
394 eap_mschapv2_password_changed(sm, data);
401 struct eap_mschapv2_data *data, char *txt)
415 data->prev_error = atoi(pos);
417 data->prev_error);
438 if (hexstr2bin(pos, data->passwd_change_challenge,
445 data->passwd_change_challenge,
447 data->passwd_change_challenge_valid = 1;
463 data->passwd_change_version = atoi(pos);
465 "protocol version %d", data->passwd_change_version);
478 msg, retry == 1 ? "" : "not ", data->prev_error);
479 if (data->prev_error == ERROR_PASSWD_EXPIRED &&
480 data->passwd_change_version == 3 && config) {
504 struct eap_sm *sm, struct eap_mschapv2_data *data,
579 data->passwd_change_challenge, PASSWD_CHANGE_CHAL_LEN);
586 generate_nt_response(data->passwd_change_challenge, cp->peer_challenge,
597 data->passwd_change_challenge,
599 cp->nt_response, data->auth_response);
600 data->auth_response_valid = 1;
602 /* Likewise, generate master_key here since we have the needed data
607 data->master_key)) {
608 data->auth_response_valid = 0;
611 data->master_key_valid = 1;
630 * @data: Pointer to private EAP method data from eap_mschapv2_init()
633 * @req_len: Length of the EAP-MSCHAPv2 data
639 struct eap_mschapv2_data *data,
651 wpa_hexdump_ascii(MSG_DEBUG, "EAP-MSCHAPV2: Failure data",
660 retry = eap_mschapv2_failure_txt(sm, data, buf);
669 if (data->prev_error == ERROR_PASSWD_EXPIRED &&
670 data->passwd_change_version == 3) {
673 return eap_mschapv2_change_password(sm, data, ret, req,
677 } else if (retry && data->prev_error == ERROR_AUTHENTICATION_FAILURE) {
741 static void eap_mschapv2_copy_challenge(struct eap_mschapv2_data *data,
748 wpabuf_free(data->prev_challenge);
749 data->prev_challenge = wpabuf_dup(reqData);
756 * @priv: Pointer to private EAP method data from eap_mschapv2_init()
766 struct eap_mschapv2_data *data = priv;
779 if (config->mschapv2_retry && data->prev_challenge &&
780 data->prev_error == ERROR_AUTHENTICATION_FAILURE) {
784 reqData = data->prev_challenge;
809 eap_mschapv2_copy_challenge(data, reqData);
810 return eap_mschapv2_challenge(sm, data, ret, ms, len, id);
812 return eap_mschapv2_success(sm, data, ret, ms, len, id);
814 return eap_mschapv2_failure(sm, data, ret, ms, len, id);
826 struct eap_mschapv2_data *data = priv;
827 return data->success && data->master_key_valid;
833 struct eap_mschapv2_data *data = priv;
837 if (!data->master_key_valid || !data->success)
848 get_asymetric_start_key(data->master_key, key, MSCHAPV2_KEY_LEN, 1, 0);
849 get_asymetric_start_key(data->master_key, key + MSCHAPV2_KEY_LEN,