eapol/eapol_framework/eapol_common/type/aka/core/eap_type_aka_server.cpp
branchRCL_3
changeset 46 c74b3d9f6b9e
parent 45 bad0cc58d154
equal deleted inserted replaced
45:bad0cc58d154 46:c74b3d9f6b9e
    14 * Description:  EAP and WLAN authentication protocols.
    14 * Description:  EAP and WLAN authentication protocols.
    15 *
    15 *
    16 */
    16 */
    17 
    17 
    18 /*
    18 /*
    19 * %version: 20.1.4 %
    19 * %version: 23 %
    20 */
    20 */
    21 
    21 
    22 // This is enumeration of EAPOL source code.
    22 // This is enumeration of EAPOL source code.
    23 #if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
    23 #if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
    24 	#undef EAP_FILE_NUMBER_ENUM
    24 	#undef EAP_FILE_NUMBER_ENUM
  2581 			(EAPL("Identity: other\n")));
  2581 			(EAPL("Identity: other\n")));
  2582 	}
  2582 	}
  2583 
  2583 
  2584 
  2584 
  2585 	if (m_authentication_type == AKA_AUTHENTICATION_TYPE_FULL_AUTH
  2585 	if (m_authentication_type == AKA_AUTHENTICATION_TYPE_FULL_AUTH
  2586 		&& ((m_identity_type == AKA_IDENTITY_TYPE_IMSI_ID
  2586 		&& (m_identity_type == AKA_IDENTITY_TYPE_IMSI_ID
  2587 			&& (get_saved_previous_state() == eap_type_aka_state_waiting_for_identity_response
  2587 			&& (get_saved_previous_state() == eap_type_aka_state_waiting_for_identity_response
  2588 				|| get_saved_previous_state() == eap_type_aka_state_waiting_for_aka_identity_response_with_at_permanent_identity
  2588 				|| get_saved_previous_state() == eap_type_aka_state_waiting_for_aka_identity_response_with_at_permanent_identity
  2589 				|| get_saved_previous_state() == eap_type_aka_state_waiting_for_aka_identity_response_with_at_full_auth_identity
  2589 				|| get_saved_previous_state() == eap_type_aka_state_waiting_for_aka_identity_response_with_at_full_auth_identity
  2590 				|| get_saved_previous_state() == eap_type_aka_state_waiting_for_aka_identity_response_with_at_any_identity
  2590 				|| get_saved_previous_state() == eap_type_aka_state_waiting_for_aka_identity_response_with_at_any_identity
  2591 				|| get_saved_previous_state() == eap_type_aka_state_waiting_for_aka_identity_response))
  2591 				|| get_saved_previous_state() == eap_type_aka_state_waiting_for_aka_identity_response))
  2592 		|| (m_identity_type == AKA_IDENTITY_TYPE_PSEUDONYM_ID
  2592 		|| (m_identity_type == AKA_IDENTITY_TYPE_PSEUDONYM_ID
  2593 			&& (get_saved_previous_state() == eap_type_aka_state_waiting_for_identity_response
  2593 			&& (get_saved_previous_state() == eap_type_aka_state_waiting_for_identity_response
  2594 				|| get_saved_previous_state() == eap_type_aka_state_waiting_for_aka_identity_response_with_at_permanent_identity
  2594 				|| get_saved_previous_state() == eap_type_aka_state_waiting_for_aka_identity_response_with_at_permanent_identity
  2595 				|| get_saved_previous_state() == eap_type_aka_state_waiting_for_aka_identity_response_with_at_any_identity
  2595 				|| get_saved_previous_state() == eap_type_aka_state_waiting_for_aka_identity_response_with_at_any_identity
  2596 				|| get_saved_previous_state() == eap_type_aka_state_waiting_for_aka_identity_response)))
  2596 				|| get_saved_previous_state() == eap_type_aka_state_waiting_for_aka_identity_response))
  2597 		)
  2597 		)
  2598 	{
  2598 	{
  2599 		eap_type_aka_identity_type local_identity_type = m_identity_type;
  2599 		eap_type_aka_identity_type local_identity_type = m_identity_type;
  2600 
  2600 
  2601 		eap_status_e local_status = query_AKA_authentication_vector(next_eap_identifier, &local_identity_type);
  2601 		eap_status_e local_status = query_AKA_authentication_vector(next_eap_identifier, &local_identity_type);
  4732 						restore_saved_previous_state();
  4732 						restore_saved_previous_state();
  4733 						EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
  4733 						EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
  4734 						return EAP_STATUS_RETURN(m_am_tools, status);
  4734 						return EAP_STATUS_RETURN(m_am_tools, status);
  4735 					}
  4735 					}
  4736 
  4736 
  4737 					if (l_aka_payloads->get_counter_too_small()->get_payload_included() == true)
  4737 					if (l_aka_payloads->get_COUNTER_TOO_SMALL()->get_payload_included() == true)
  4738 					{
  4738 					{
  4739 						// When the client detects that the
  4739 						// When the client detects that the
  4740 						// counter value is not fresh, it includes the AT_COUNTER_TOO_SMALL
  4740 						// counter value is not fresh, it includes the AT_COUNTER_TOO_SMALL
  4741 						// attribute in EAP-Response/AKA/Re-authentication. This attribute
  4741 						// attribute in EAP-Response/AKA/Re-authentication. This attribute
  4742 						// doesn't contain any data but it is a request for the server to
  4742 						// doesn't contain any data but it is a request for the server to