Lines Matching refs:tlv

426 int eap_teap_parse_tlv(struct eap_teap_tlv_parse *tlv,  in eap_teap_parse_tlv()  argument
434 tlv->result = TEAP_STATUS_FAILURE; in eap_teap_parse_tlv()
437 tlv->identity_type = WPA_GET_BE16(pos); in eap_teap_parse_tlv()
439 tlv->identity_type); in eap_teap_parse_tlv()
443 if (tlv->result) { in eap_teap_parse_tlv()
446 tlv->result = TEAP_STATUS_FAILURE; in eap_teap_parse_tlv()
451 tlv->result = TEAP_STATUS_FAILURE; in eap_teap_parse_tlv()
454 tlv->result = WPA_GET_BE16(pos); in eap_teap_parse_tlv()
455 if (tlv->result != TEAP_STATUS_SUCCESS && in eap_teap_parse_tlv()
456 tlv->result != TEAP_STATUS_FAILURE) { in eap_teap_parse_tlv()
458 tlv->result); in eap_teap_parse_tlv()
459 tlv->result = TEAP_STATUS_FAILURE; in eap_teap_parse_tlv()
462 tlv->result == TEAP_STATUS_SUCCESS ? in eap_teap_parse_tlv()
469 tlv->result = TEAP_STATUS_FAILURE; in eap_teap_parse_tlv()
472 tlv->nak = pos; in eap_teap_parse_tlv()
473 tlv->nak_len = len; in eap_teap_parse_tlv()
478 tlv->result = TEAP_STATUS_FAILURE; in eap_teap_parse_tlv()
481 tlv->error_code = WPA_GET_BE32(pos); in eap_teap_parse_tlv()
482 wpa_printf(MSG_DEBUG, "EAP-TEAP: Error: %u", tlv->error_code); in eap_teap_parse_tlv()
487 if (tlv->request_action) { in eap_teap_parse_tlv()
490 tlv->iresult = TEAP_STATUS_FAILURE; in eap_teap_parse_tlv()
496 tlv->iresult = TEAP_STATUS_FAILURE; in eap_teap_parse_tlv()
499 tlv->request_action_status = pos[0]; in eap_teap_parse_tlv()
500 tlv->request_action = pos[1]; in eap_teap_parse_tlv()
503 tlv->request_action_status, tlv->request_action); in eap_teap_parse_tlv()
508 if (tlv->eap_payload_tlv) { in eap_teap_parse_tlv()
511 tlv->iresult = TEAP_STATUS_FAILURE; in eap_teap_parse_tlv()
514 tlv->eap_payload_tlv = pos; in eap_teap_parse_tlv()
515 tlv->eap_payload_tlv_len = len; in eap_teap_parse_tlv()
523 tlv->iresult = TEAP_STATUS_FAILURE; in eap_teap_parse_tlv()
526 if (tlv->iresult) { in eap_teap_parse_tlv()
529 tlv->iresult = TEAP_STATUS_FAILURE; in eap_teap_parse_tlv()
532 tlv->iresult = WPA_GET_BE16(pos); in eap_teap_parse_tlv()
533 if (tlv->iresult != TEAP_STATUS_SUCCESS && in eap_teap_parse_tlv()
534 tlv->iresult != TEAP_STATUS_FAILURE) { in eap_teap_parse_tlv()
537 tlv->iresult); in eap_teap_parse_tlv()
538 tlv->iresult = TEAP_STATUS_FAILURE; in eap_teap_parse_tlv()
541 tlv->iresult == TEAP_STATUS_SUCCESS ? in eap_teap_parse_tlv()
546 if (tlv->pac) { in eap_teap_parse_tlv()
549 tlv->iresult = TEAP_STATUS_FAILURE; in eap_teap_parse_tlv()
552 tlv->pac = pos; in eap_teap_parse_tlv()
553 tlv->pac_len = len; in eap_teap_parse_tlv()
558 if (tlv->crypto_binding) { in eap_teap_parse_tlv()
561 tlv->iresult = TEAP_STATUS_FAILURE; in eap_teap_parse_tlv()
564 tlv->crypto_binding_len = sizeof(struct teap_tlv_hdr) + len; in eap_teap_parse_tlv()
565 if (tlv->crypto_binding_len < sizeof(*tlv->crypto_binding)) { in eap_teap_parse_tlv()
568 tlv->iresult = TEAP_STATUS_FAILURE; in eap_teap_parse_tlv()
571 tlv->crypto_binding = (struct teap_tlv_crypto_binding *) in eap_teap_parse_tlv()
578 if (tlv->basic_auth_req) { in eap_teap_parse_tlv()
581 tlv->iresult = TEAP_STATUS_FAILURE; in eap_teap_parse_tlv()
584 tlv->basic_auth_req = pos; in eap_teap_parse_tlv()
585 tlv->basic_auth_req_len = len; in eap_teap_parse_tlv()
591 if (tlv->basic_auth_resp) { in eap_teap_parse_tlv()
594 tlv->iresult = TEAP_STATUS_FAILURE; in eap_teap_parse_tlv()
597 tlv->basic_auth_resp = pos; in eap_teap_parse_tlv()
598 tlv->basic_auth_resp_len = len; in eap_teap_parse_tlv()