eapol/eapol_framework/eapol_common/core/eap_core.cpp
changeset 49 43351a4f2da3
parent 34 ad1f037f1ac2
--- a/eapol/eapol_framework/eapol_common/core/eap_core.cpp	Fri Sep 03 09:22:44 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/core/eap_core.cpp	Thu Sep 16 13:07:04 2010 +0300
@@ -16,7 +16,7 @@
 */
 
 /*
-* %version: 58.1.12 %
+* %version: 58.1.15 %
 */
 
 // This is enumeration of EAPOL source code.
@@ -388,7 +388,7 @@
 			EAP_TRACE_DEBUG(
 				m_am_tools,
 				TRACE_FLAGS_DEFAULT,
-				(EAPL("eap_core_c::state_notification(): %s, %s, Ignored notification: ")
+				(EAPL("eap_core_c::init_end_of_session(): %s, %s, Ignored notification: ")
 				 EAPL("Protocol layer %d, EAP-type 0x%02x, State transition from ")
 				 EAPL("%d=%s to %d=%s, client %d.\n"),
 				 (m_is_client == true) ? "client": "server",
@@ -416,7 +416,7 @@
 		EAP_TRACE_DEBUG(
 			m_am_tools,
 			TRACE_FLAGS_DEFAULT,
-			(EAPL("eap_core_c::state_notification(): %s, %s, Ignored notification: ")
+			(EAPL("eap_core_c::init_end_of_session(): %s, %s, Ignored notification: ")
 			 EAPL("Protocol layer %d, EAP-type 0x%02x, State transition from ")
 			 EAPL("%d=%s to %d=%s, client %d when shutdown was called.\n"),
 			 (m_is_client == true) ? "client": "server",
@@ -471,6 +471,17 @@
 		state->get_authentication_error(),
 		status_string.get_status_string(state->get_authentication_error())));
 
+	EAP_TRACE_DEBUG(
+		m_am_tools, 
+		TRACE_FLAGS_DEFAULT, 
+		(EAPL("eap_core_c::state_notification(), %s, %s, m_eap_identity_request_send=%d, m_eap_identity_response_received=%d.\n"),
+		(m_is_client == true) ? "client": "server",
+		(m_is_tunneled_eap == true) ? "tunneled": "outer most",
+		m_eap_identity_request_send,
+		m_eap_identity_response_received));
+
+	EAP_TRACE_RETURN_STRING(m_am_tools, "returns: eap_core_c::state_notification()");
+
 	if (m_ignore_notifications == true
 		|| m_partner == 0)
 	{
@@ -483,7 +494,8 @@
 		 // These notications are allowed always.
 	}
 	else if (state->get_protocol_layer() == eap_protocol_layer_eap
-		&& state->get_eap_type() != m_current_eap_type)
+		&& state->get_eap_type() != m_current_eap_type
+		&& m_is_client == false)
 	{
 		EAP_TRACE_DEBUG(
 			m_am_tools,
@@ -3237,6 +3249,7 @@
 
 	eap_status_e status = m_type_map.for_each(shutdown_operation, true);
 
+	m_type_map.reset();
 
 	cancel_retransmission();