eapol/eapol_framework/eapol_common/core/eapol_wlan_authentication.cpp
changeset 52 c23bdf5a328a
parent 39 fe6b6762fccd
equal deleted inserted replaced
51:e863583e6720 52:c23bdf5a328a
    14 * Description:  EAP and WLAN authentication protocols.
    14 * Description:  EAP and WLAN authentication protocols.
    15 *
    15 *
    16 */
    16 */
    17 
    17 
    18 /*
    18 /*
    19 * %version: 115 %
    19 * %version: 120 %
    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
   234 	m_is_valid = true;
   234 	m_is_valid = true;
   235 }	
   235 }	
   236 
   236 
   237 //--------------------------------------------------
   237 //--------------------------------------------------
   238 
   238 
   239 EAP_FUNC_EXPORT eapol_wlan_authentication_c::~eapol_wlan_authentication_c()
   239 // Something in RVCT 2 forces this function cannot be exported.
       
   240 eapol_wlan_authentication_c::~eapol_wlan_authentication_c()
   240 {
   241 {
   241 	EAP_TRACE_DEBUG(
   242 	EAP_TRACE_DEBUG(
   242 		m_am_tools, 
   243 		m_am_tools, 
   243 		TRACE_FLAGS_DEFAULT, 
   244 		TRACE_FLAGS_DEFAULT, 
   244 		(EAPL("partner calls: eapol_wlan_authentication_c::~eapol_wlan_authentication_c(): this = 0x%08x\n"),
   245 		(EAPL("partner calls: eapol_wlan_authentication_c::~eapol_wlan_authentication_c(): this = 0x%08x\n"),
   418 		selected_eapol_key_authentication_type,
   419 		selected_eapol_key_authentication_type,
   419 		eapol_key_state_string_c::get_eapol_key_authentication_type_string(selected_eapol_key_authentication_type)));
   420 		eapol_key_state_string_c::get_eapol_key_authentication_type_string(selected_eapol_key_authentication_type)));
   420 
   421 
   421 	EAP_TRACE_RETURN_STRING(m_am_tools, "returns to partner: eapol_wlan_authentication_c::start_authentication()");
   422 	EAP_TRACE_RETURN_STRING(m_am_tools, "returns to partner: eapol_wlan_authentication_c::start_authentication()");
   422 
   423 
       
   424     EAP_TRACE_DATA_DEBUG(
       
   425         m_am_tools,
       
   426         TRACE_FLAGS_DEFAULT,
       
   427         (EAPL("new SSID"),
       
   428         SSID->get_data(),
       
   429         SSID->get_data_length()));
       
   430 
       
   431     EAP_TRACE_DATA_DEBUG(
       
   432         m_am_tools,
       
   433         TRACE_FLAGS_DEFAULT,
       
   434         (EAPL("new preshared_key"),
       
   435         preshared_key->get_data(),
       
   436         preshared_key->get_data_length()));
       
   437 
   423 	eap_status_e status(eap_status_ok);
   438 	eap_status_e status(eap_status_ok);
   424 
   439 
   425 	status = cancel_all_authentication_sessions();
   440 	status = cancel_all_authentication_sessions();
   426 	if (status != eap_status_ok)
   441 	if (status != eap_status_ok)
   427 	{
   442 	{
   480 		m_am_tools,
   495 		m_am_tools,
   481 		TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
   496 		TRACE_FLAGS_ALWAYS|TRACE_FLAGS_DEFAULT, 
   482 		(EAPL("calls: eapol_wlan_authentication_c::start_authentication(): m_am_wauth->get_wlan_configuration(): %s.\n"),
   497 		(EAPL("calls: eapol_wlan_authentication_c::start_authentication(): m_am_wauth->get_wlan_configuration(): %s.\n"),
   483 		(m_is_client == true) ? "client": "server"));
   498 		(m_is_client == true) ? "client": "server"));
   484 
   499 
       
   500 	// Normally here is HASH of WPA pre-shared key, but when connection is Wi-fi Protected setup here is PIN or push button (00000000) key.
   485 	status = m_am_wauth->get_wlan_configuration(
   501 	status = m_am_wauth->get_wlan_configuration(
   486 		&m_wpa_preshared_key_hash);
   502 		&m_wpa_preshared_key_hash);
   487 	if (status != eap_status_ok)
   503 	if (status != eap_status_ok)
   488 	{
   504 	{
   489 		return EAP_STATUS_RETURN(m_am_tools, status);
   505 		return EAP_STATUS_RETURN(m_am_tools, status);