eapol/eapol_framework/eapol_common/core/eap_session_core.cpp
branchRCL_3
changeset 18 bad0cc58d154
parent 2 1c7bc153c08e
child 19 c74b3d9f6b9e
equal deleted inserted replaced
17:30e048a7b597 18:bad0cc58d154
    14 * Description:  EAP and WLAN authentication protocols.
    14 * Description:  EAP and WLAN authentication protocols.
    15 *
    15 *
    16 */
    16 */
    17 
    17 
    18 /*
    18 /*
    19 * %version: 19.1.2 %
    19 * %version: 36 %
    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
    25 	#define EAP_FILE_NUMBER_ENUM 60 
    25 	#define EAP_FILE_NUMBER_ENUM 731 
    26 	#undef EAP_FILE_NUMBER_DATE 
    26 	#undef EAP_FILE_NUMBER_DATE 
    27 	#define EAP_FILE_NUMBER_DATE 1127594498 
    27 	#define EAP_FILE_NUMBER_DATE 1127594498 
    28 #endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
    28 #endif //#if defined(USE_EAP_MINIMUM_RELEASE_TRACES)
    29 
    29 
    30 
    30 
    68 #endif
    68 #endif
    69 
    69 
    70 // 
    70 // 
    71 EAP_FUNC_EXPORT eap_session_core_c::eap_session_core_c(
    71 EAP_FUNC_EXPORT eap_session_core_c::eap_session_core_c(
    72 	abs_eap_am_tools_c * const tools,
    72 	abs_eap_am_tools_c * const tools,
    73 	abs_eap_core_c * const partner,
    73 	abs_eap_session_core_c * const partner,
    74 	const bool is_client_when_true)
    74 	const bool is_client_when_true)
    75 : m_partner(partner)
    75 : m_partner(partner)
    76 , m_am_tools(tools)
    76 , m_am_tools(tools)
    77 , m_session_map(tools, this)
    77 , m_session_map(tools, this)
    78 , m_remove_session_timeout(EAP_SESSION_CORE_REMOVE_SESSION_TIMEOUT)
    78 , m_remove_session_timeout(EAP_SESSION_CORE_REMOVE_SESSION_TIMEOUT)
    96 }
    96 }
    97 
    97 
    98 //--------------------------------------------------
    98 //--------------------------------------------------
    99 
    99 
   100 //
   100 //
   101 EAP_FUNC_EXPORT abs_eap_core_c * eap_session_core_c::get_partner()
   101 EAP_FUNC_EXPORT abs_eap_session_core_c * eap_session_core_c::get_partner()
   102 {
   102 {
   103 	EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true);
   103 	EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true);
   104 
   104 
   105 	return m_partner;
   105 	return m_partner;
   106 }
   106 }
   248 	}
   248 	}
   249 
   249 
   250 	EAP_TRACE_DATA_DEBUG(
   250 	EAP_TRACE_DATA_DEBUG(
   251 		m_am_tools,
   251 		m_am_tools,
   252 		TRACE_FLAGS_DEFAULT,
   252 		TRACE_FLAGS_DEFAULT,
   253 		(EAPL("create_new_session() EAP-session"),
   253 		(EAPL("eap_session_core_c::create_new_session() EAP-session"),
   254 		 selector.get_data(selector.get_data_length()),
   254 		 selector.get_data(selector.get_data_length()),
   255 		 selector.get_data_length()));
   255 		 selector.get_data_length()));
   256 
   256 
   257 	status = m_session_map.add_handler(&selector, session);
   257 	status = m_session_map.add_handler(&selector, session);
   258 	if (status != eap_status_ok)
   258 	if (status != eap_status_ok)
   274 	eap_core_c ** const session,
   274 	eap_core_c ** const session,
   275 	const eap_network_id_selector_c * const selector,
   275 	const eap_network_id_selector_c * const selector,
   276 	const bool reset_immediately)
   276 	const bool reset_immediately)
   277 {
   277 {
   278 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
   278 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
       
   279 
       
   280 	EAP_TRACE_DEBUG(
       
   281 		m_am_tools, 
       
   282 		TRACE_FLAGS_DEFAULT, 
       
   283 		(EAPL("eap_session_core_c::reset_or_remove_session(): %s.\n"),
       
   284 		 (m_is_client == true) ? "client": "server"));
       
   285 
       
   286 	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, TRACE_FLAGS_DEFAULT, "returns: eap_session_core_c::reset_or_remove_session()");
   279 
   287 
   280 	eap_status_e status(eap_status_process_general_error);
   288 	eap_status_e status(eap_status_process_general_error);
   281 
   289 
   282 	if (session == 0
   290 	if (session == 0
   283 		|| *session == 0
   291 		|| *session == 0
   457 	}
   465 	}
   458 
   466 
   459 	EAP_TRACE_DATA_DEBUG(
   467 	EAP_TRACE_DATA_DEBUG(
   460 		m_am_tools,
   468 		m_am_tools,
   461 		TRACE_FLAGS_DEFAULT,
   469 		TRACE_FLAGS_DEFAULT,
   462 		(EAPL("packet_process() EAP-session"),
   470 		(EAPL("eap_session_core_c::packet_process() EAP-session"),
   463 		 selector.get_data(selector.get_data_length()),
   471 		 selector.get_data(selector.get_data_length()),
   464 		 selector.get_data_length()));
   472 		 selector.get_data_length()));
   465 
   473 
   466 	eap_core_c *session = m_session_map.get_handler(&selector);
   474 	eap_core_c *session = m_session_map.get_handler(&selector);
   467 
   475 
   468 	if (session == 0)
   476 	if (session == 0)
   469 	{
   477 	{
   470 
       
   471 #if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
       
   472 
       
   473 		EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
       
   474 		return EAP_STATUS_RETURN(m_am_tools, eap_status_handler_does_not_exists_error);
       
   475 
       
   476 #else
       
   477 		// Create a new session.
   478 		// Create a new session.
   478 		session = create_new_session(receive_network_id);
   479 		session = create_new_session(receive_network_id);
   479 
       
   480 #endif //#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
       
   481 
       
   482 	}
   480 	}
   483 
   481 
   484 	if (session != 0)
   482 	if (session != 0)
   485 	{
   483 	{
   486 		status = session->packet_process(
   484 		status = session->packet_process(
   712 	}
   710 	}
   713 
   711 
   714 	EAP_TRACE_DATA_DEBUG(
   712 	EAP_TRACE_DATA_DEBUG(
   715 		m_am_tools,
   713 		m_am_tools,
   716 		TRACE_FLAGS_DEFAULT,
   714 		TRACE_FLAGS_DEFAULT,
   717 		(EAPL("eap_acknowledge() EAP-session"),
   715 		(EAPL("eap_session_core_c::eap_acknowledge() EAP-session"),
   718 		 selector.get_data(selector.get_data_length()),
   716 		 selector.get_data(selector.get_data_length()),
   719 		 selector.get_data_length()));
   717 		 selector.get_data_length()));
   720 
   718 
   721 	eap_core_c *session = m_session_map.get_handler(&selector);
   719 	eap_core_c *session = m_session_map.get_handler(&selector);
   722 
   720 
   759 	}
   757 	}
   760 
   758 
   761 	EAP_TRACE_DATA_DEBUG(
   759 	EAP_TRACE_DATA_DEBUG(
   762 		m_am_tools,
   760 		m_am_tools,
   763 		TRACE_FLAGS_DEFAULT,
   761 		TRACE_FLAGS_DEFAULT,
   764 		(EAPL("restart_authentication() EAP-session"),
   762 		(EAPL("eap_session_core_c::restart_authentication() EAP-session"),
   765 		 selector.get_data(selector.get_data_length()),
   763 		 selector.get_data(selector.get_data_length()),
   766 		 selector.get_data_length()));
   764 		 selector.get_data_length()));
   767 
   765 
   768 	eap_core_c *session = m_session_map.get_handler(&selector);
   766 	eap_core_c *session = m_session_map.get_handler(&selector);
   769 
   767 
   812 	}
   810 	}
   813 
   811 
   814 	EAP_TRACE_DATA_DEBUG(
   812 	EAP_TRACE_DATA_DEBUG(
   815 		m_am_tools,
   813 		m_am_tools,
   816 		TRACE_FLAGS_DEFAULT,
   814 		TRACE_FLAGS_DEFAULT,
   817 		(EAPL("restart_authentication() EAP-session"),
   815 		(EAPL("eap_session_core_c::restart_authentication() EAP-session"),
   818 		 selector.get_data(selector.get_data_length()),
   816 		 selector.get_data(selector.get_data_length()),
   819 		 selector.get_data_length()));
   817 		 selector.get_data_length()));
   820 
   818 
   821 	eap_core_c *session = m_session_map.get_handler(&selector);
   819 	eap_core_c *session = m_session_map.get_handler(&selector);
   822 
   820 
   880 	}
   878 	}
   881 
   879 
   882 	EAP_TRACE_DATA_DEBUG(
   880 	EAP_TRACE_DATA_DEBUG(
   883 		m_am_tools,
   881 		m_am_tools,
   884 		TRACE_FLAGS_DEFAULT,
   882 		TRACE_FLAGS_DEFAULT,
   885 		(EAPL("send_eap_identity_request() EAP-session"),
   883 		(EAPL("eap_session_core_c::send_eap_identity_request() EAP-session"),
   886 		 selector.get_data(selector.get_data_length()),
   884 		 selector.get_data(selector.get_data_length()),
   887 		 selector.get_data_length()));
   885 		 selector.get_data_length()));
   888 
   886 
   889 	eap_core_c *session = m_session_map.get_handler(&selector);
   887 	eap_core_c *session = m_session_map.get_handler(&selector);
   890 
   888 
   992 		}
   990 		}
   993 
   991 
   994 		EAP_TRACE_DATA_DEBUG(
   992 		EAP_TRACE_DATA_DEBUG(
   995 			m_am_tools,
   993 			m_am_tools,
   996 			TRACE_FLAGS_DEFAULT,
   994 			TRACE_FLAGS_DEFAULT,
   997 			(EAPL("timer_expired() EAP-session"),
   995 			(EAPL("eap_session_core_c::timer_expired() EAP-session"),
   998 			 selector->get_data(selector->get_data_length()),
   996 			 selector->get_data(selector->get_data_length()),
   999 			 selector->get_data_length()));
   997 			 selector->get_data_length()));
  1000 
   998 
  1001 		eap_core_c *session = m_session_map.get_handler(selector);
   999 		eap_core_c *session = m_session_map.get_handler(selector);
  1002 
  1000 
  1076 	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
  1074 	return EAP_STATUS_RETURN(m_am_tools, eap_status_ok);
  1077 }
  1075 }
  1078 
  1076 
  1079 //--------------------------------------------------
  1077 //--------------------------------------------------
  1080 
  1078 
  1081 EAP_FUNC_EXPORT eap_status_e eap_session_core_c::synchronous_cancel_all_eap_sessions()
  1079 EAP_FUNC_EXPORT eap_status_e eap_session_core_c::cancel_all_eap_sessions()
  1082 {
  1080 {
  1083 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
  1081 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
  1084 
  1082 
  1085 	EAP_TRACE_DEBUG(
  1083 	EAP_TRACE_DEBUG(
  1086 		m_am_tools, 
  1084 		m_am_tools, 
  1087 		TRACE_FLAGS_DEFAULT, 
  1085 		TRACE_FLAGS_DEFAULT, 
  1088 		(EAPL("eap_session_core_c::synchronous_cancel_all_eap_sessions(): this = 0x%08x => 0x%08x.\n"),
  1086 		(EAPL("eap_session_core_c::cancel_all_eap_sessions(): this = 0x%08x => 0x%08x.\n"),
  1089 		this,
  1087 		this,
  1090 		dynamic_cast<abs_eap_base_timer_c *>(this)));
  1088 		dynamic_cast<abs_eap_base_timer_c *>(this)));
  1091 
  1089 
  1092 	eap_status_e status = reset();
  1090 	eap_status_e status = reset();
  1093 
  1091 
  1095 	return EAP_STATUS_RETURN(m_am_tools, status);
  1093 	return EAP_STATUS_RETURN(m_am_tools, status);
  1096 }
  1094 }
  1097 
  1095 
  1098 //--------------------------------------------------
  1096 //--------------------------------------------------
  1099 
  1097 
  1100 #if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
  1098 EAP_FUNC_EXPORT eap_status_e eap_session_core_c::create_eap_session(
  1101 
       
  1102 EAP_FUNC_EXPORT eap_status_e eap_session_core_c::synchronous_create_eap_session(
       
  1103 	const eap_am_network_id_c * const receive_network_id)
  1099 	const eap_am_network_id_c * const receive_network_id)
  1104 {
  1100 {
  1105 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
  1101 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
  1106 
  1102 
  1107 	EAP_TRACE_DEBUG(
  1103 	EAP_TRACE_DEBUG(
  1108 		m_am_tools, 
  1104 		m_am_tools, 
  1109 		TRACE_FLAGS_DEFAULT, 
  1105 		TRACE_FLAGS_DEFAULT, 
  1110 		(EAPL("eap_session_core_c::synchronous_create_eap_session(): this = 0x%08x => 0x%08x.\n"),
  1106 		(EAPL("eap_session_core_c::create_eap_session(): this = 0x%08x => 0x%08x.\n"),
  1111 		this,
  1107 		this,
  1112 		dynamic_cast<abs_eap_base_timer_c *>(this)));
  1108 		dynamic_cast<abs_eap_base_timer_c *>(this)));
  1113 
  1109 
  1114 	eap_status_e status = eap_status_process_general_error;
  1110 	eap_status_e status = eap_status_process_general_error;
  1115 
  1111 
  1135 	}
  1131 	}
  1136 
  1132 
  1137 	EAP_TRACE_DATA_DEBUG(
  1133 	EAP_TRACE_DATA_DEBUG(
  1138 		m_am_tools,
  1134 		m_am_tools,
  1139 		TRACE_FLAGS_DEFAULT,
  1135 		TRACE_FLAGS_DEFAULT,
  1140 		(EAPL("synchronous_create_eap_session() EAP-session"),
  1136 		(EAPL("eap_session_core_c::create_eap_session() EAP-session"),
  1141 		 selector.get_data(selector.get_data_length()),
  1137 		 selector.get_data(selector.get_data_length()),
  1142 		 selector.get_data_length()));
  1138 		 selector.get_data_length()));
  1143 
  1139 
  1144 	eap_core_c *session = m_session_map.get_handler(&selector);
  1140 	eap_core_c *session = m_session_map.get_handler(&selector);
  1145 
  1141 
  1164 
  1160 
  1165 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
  1161 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
  1166 	return EAP_STATUS_RETURN(m_am_tools, status);
  1162 	return EAP_STATUS_RETURN(m_am_tools, status);
  1167 }
  1163 }
  1168 
  1164 
  1169 #endif //#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE)
  1165 //--------------------------------------------------
  1170 
  1166 
  1171 //--------------------------------------------------
  1167 EAP_FUNC_EXPORT eap_status_e eap_session_core_c::remove_eap_session(
  1172 
  1168 	const bool /* complete_to_lower_layer */,
  1173 EAP_FUNC_EXPORT eap_status_e eap_session_core_c::synchronous_remove_eap_session(
       
  1174 	const eap_am_network_id_c * const receive_network_id)
  1169 	const eap_am_network_id_c * const receive_network_id)
  1175 {
  1170 {
  1176 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
  1171 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
  1177 
  1172 
  1178 	EAP_TRACE_DEBUG(
  1173 	EAP_TRACE_DEBUG(
  1179 		m_am_tools, 
  1174 		m_am_tools, 
  1180 		TRACE_FLAGS_DEFAULT, 
  1175 		TRACE_FLAGS_DEFAULT, 
  1181 		(EAPL("eap_session_core_c::synchronous_remove_eap_session(): this = 0x%08x => 0x%08x.\n"),
  1176 		(EAPL("eap_session_core_c::remove_eap_session(): this = 0x%08x => 0x%08x.\n"),
  1182 		this,
  1177 		this,
  1183 		dynamic_cast<abs_eap_base_timer_c *>(this)));
  1178 		dynamic_cast<abs_eap_base_timer_c *>(this)));
       
  1179 
       
  1180 	EAP_TRACE_RETURN_STRING_FLAGS(m_am_tools, TRACE_FLAGS_DEFAULT, "returns: eap_session_core_c::remove_eap_session()");
  1184 
  1181 
  1185 	eap_status_e status = eap_status_process_general_error;
  1182 	eap_status_e status = eap_status_process_general_error;
  1186 
  1183 
  1187 	// Here we swap the addresses.
  1184 	// Here we swap the addresses.
  1188 	eap_am_network_id_c send_network_id(
  1185 	eap_am_network_id_c send_network_id(
  1206 	}
  1203 	}
  1207 
  1204 
  1208 	EAP_TRACE_DATA_DEBUG(
  1205 	EAP_TRACE_DATA_DEBUG(
  1209 		m_am_tools,
  1206 		m_am_tools,
  1210 		TRACE_FLAGS_DEFAULT,
  1207 		TRACE_FLAGS_DEFAULT,
  1211 		(EAPL("synchronous_remove_eap_session() EAP-session"),
  1208 		(EAPL("eap_session_core_c::remove_eap_session() EAP-session"),
  1212 		 selector.get_data(selector.get_data_length()),
  1209 		 selector.get_data(selector.get_data_length()),
  1213 		 selector.get_data_length()));
  1210 		 selector.get_data_length()));
  1214 
  1211 
  1215 	eap_core_c *session = m_session_map.get_handler(&selector);
  1212 	eap_core_c *session = m_session_map.get_handler(&selector);
  1216 
  1213 
  1228 		}
  1225 		}
  1229 	}
  1226 	}
  1230 	else
  1227 	else
  1231 	{
  1228 	{
  1232 		// Not found, no need to remove.
  1229 		// Not found, no need to remove.
       
  1230 		EAP_TRACE_DEBUG(
       
  1231 			m_am_tools, 
       
  1232 			TRACE_FLAGS_DEFAULT, 
       
  1233 			(EAPL("eap_session_core_c::remove_eap_session(): session not found.\n")));
       
  1234 
  1233 		status = eap_status_ok;
  1235 		status = eap_status_ok;
  1234 	}
  1236 	}
  1235 
  1237 
  1236 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
  1238 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
  1237 	return EAP_STATUS_RETURN(m_am_tools, status);
  1239 	return EAP_STATUS_RETURN(m_am_tools, status);
  1259 	}
  1261 	}
  1260 
  1262 
  1261 	EAP_TRACE_DATA_DEBUG(
  1263 	EAP_TRACE_DATA_DEBUG(
  1262 		m_am_tools,
  1264 		m_am_tools,
  1263 		TRACE_FLAGS_DEFAULT,
  1265 		TRACE_FLAGS_DEFAULT,
  1264 		(EAPL("asynchronous_init_remove_eap_session() EAP-session"),
  1266 		(EAPL("eap_session_core_c::asynchronous_init_remove_eap_session() EAP-session"),
  1265 		 state_selector.get_data(state_selector.get_data_length()),
  1267 		 state_selector.get_data(state_selector.get_data_length()),
  1266 		 state_selector.get_data_length()));
  1268 		 state_selector.get_data_length()));
  1267 
  1269 
  1268 	eap_status_e status = asynchronous_init_remove_eap_session(
  1270 	eap_status_e status = asynchronous_init_remove_eap_session(
  1269 		&state_selector);
  1271 		&state_selector);
  1272 }
  1274 }
  1273 
  1275 
  1274 //--------------------------------------------------
  1276 //--------------------------------------------------
  1275 
  1277 
  1276 //
  1278 //
  1277 eap_status_e eap_session_core_c::asynchronous_init_remove_eap_session(
  1279 EAP_FUNC_EXPORT eap_status_e eap_session_core_c::asynchronous_init_remove_eap_session(
  1278 	const eap_network_id_selector_c * const state_selector)
  1280 	const eap_network_id_selector_c * const state_selector)
  1279 {
  1281 {
  1280 	EAP_TRACE_DEBUG(
  1282 	EAP_TRACE_DEBUG(
  1281 		m_am_tools, 
  1283 		m_am_tools, 
  1282 		TRACE_FLAGS_DEFAULT, 
  1284 		TRACE_FLAGS_DEFAULT, 
  1283 		(EAPL("eap_session_core_c::asynchronous_init_remove_eap_session(): %s.\n"),
  1285 		(EAPL("eap_session_core_c::asynchronous_init_remove_eap_session(): %s.\n"),
  1284 		 (m_is_client == true) ? "client": "server"));
  1286 		 (m_is_client == true) ? "client": "server"));
  1285 
  1287 
  1286 	// NOTE: we cannot call directly synchronous_remove_eap_session(), because we will
  1288 	// NOTE: we cannot call directly remove_eap_session(), because we will
  1287 	// return from here to removed object.
  1289 	// return from here to removed object.
  1288 
  1290 
  1289 	eap_status_e status = eap_status_process_general_error;
  1291 	eap_status_e status = eap_status_process_general_error;
  1290 
  1292 
  1291 	EAP_TRACE_DATA_DEBUG(
  1293 	EAP_TRACE_DATA_DEBUG(
  1292 		m_am_tools,
  1294 		m_am_tools,
  1293 		TRACE_FLAGS_DEFAULT,
  1295 		TRACE_FLAGS_DEFAULT,
  1294 		(EAPL("asynchronous_init_remove_eap_session() EAP-session"),
  1296 		(EAPL("eap_session_core_c::asynchronous_init_remove_eap_session() EAP-session"),
  1295 		 state_selector->get_data(state_selector->get_data_length()),
  1297 		 state_selector->get_data(state_selector->get_data_length()),
  1296 		 state_selector->get_data_length()));
  1298 		 state_selector->get_data_length()));
  1297 
  1299 
  1298 	eap_core_c *session = m_session_map.get_handler(state_selector);
  1300 	eap_core_c *session = m_session_map.get_handler(state_selector);
  1299 
  1301 
  1396 	return EAP_STATUS_RETURN(m_am_tools, status);
  1398 	return EAP_STATUS_RETURN(m_am_tools, status);
  1397 }
  1399 }
  1398 
  1400 
  1399 //--------------------------------------------------
  1401 //--------------------------------------------------
  1400 
  1402 
  1401 //
       
  1402 EAP_FUNC_EXPORT eap_status_e eap_session_core_c::cancel_all_timers()
       
  1403 {
       
  1404 	EAP_TRACE_BEGIN(m_am_tools, TRACE_FLAGS_DEFAULT);
       
  1405 
       
  1406 	EAP_ASSERT(m_am_tools->get_global_mutex()->get_is_reserved() == true);
       
  1407 
       
  1408 	const eap_status_e status = m_partner->cancel_all_timers();
       
  1409 
       
  1410 	EAP_TRACE_END(m_am_tools, TRACE_FLAGS_DEFAULT);
       
  1411 	return EAP_STATUS_RETURN(m_am_tools, status);
       
  1412 }
       
  1413 
       
  1414 //--------------------------------------------------
       
  1415 
       
  1416 EAP_FUNC_EXPORT eap_status_e eap_session_core_c::check_is_valid_eap_type(
  1403 EAP_FUNC_EXPORT eap_status_e eap_session_core_c::check_is_valid_eap_type(
  1417 	const eap_type_value_e eap_type)
  1404 	const eap_type_value_e eap_type)
  1418 {
  1405 {
  1419 	eap_status_e status = m_partner->check_is_valid_eap_type(eap_type);
  1406 	eap_status_e status = m_partner->check_is_valid_eap_type(eap_type);
  1420 
  1407 
  1458 	return EAP_STATUS_RETURN(m_am_tools, eap_status_not_supported);
  1445 	return EAP_STATUS_RETURN(m_am_tools, eap_status_not_supported);
  1459 }
  1446 }
  1460 
  1447 
  1461 //--------------------------------------------------
  1448 //--------------------------------------------------
  1462 
  1449 
  1463 
  1450 EAP_FUNC_EXPORT eap_status_e eap_session_core_c::set_eap_database_reference_values(
  1464 
  1451 	const eap_variable_data_c * const /* reference */)
       
  1452 {
       
  1453 	return EAP_STATUS_RETURN(m_am_tools, eap_status_not_supported);
       
  1454 }
       
  1455 
       
  1456 //--------------------------------------------------
       
  1457 
       
  1458 EAP_FUNC_EXPORT eap_status_e eap_session_core_c::get_802_11_authentication_mode(
       
  1459 	const eap_am_network_id_c * const /* receive_network_id */,
       
  1460 	const eapol_key_authentication_type_e /* authentication_type */,
       
  1461 	const eap_variable_data_c * const /* SSID */,
       
  1462 	const eap_variable_data_c * const /* preshared_key */)
       
  1463 {
       
  1464 	return EAP_STATUS_RETURN(m_am_tools, eap_status_not_supported);
       
  1465 }
       
  1466 
       
  1467 //--------------------------------------------------
  1465 // End.
  1468 // End.