30 #include "eapol_key_types.h" |
30 #include "eapol_key_types.h" |
31 #include "eap_type_selection.h" |
31 #include "eap_type_selection.h" |
32 #include "eap_array.h" |
32 #include "eap_array.h" |
33 #include "eapol_key_state.h" |
33 #include "eapol_key_state.h" |
34 #include "eapol_test_stack_if.h" |
34 #include "eapol_test_stack_if.h" |
|
35 #include "eap_database_reference_if.h" |
|
36 #include "abs_eap_configuration_if.h" |
35 |
37 |
36 #if defined(USE_EAP_SIMPLE_CONFIG) |
38 #if defined(USE_EAP_SIMPLE_CONFIG) |
37 #include "abs_eap_configuration_if.h" |
39 #include "abs_eap_configuration_if.h" |
38 #endif // #if defined(USE_EAP_SIMPLE_CONFIG) |
40 #endif // #if defined(USE_EAP_SIMPLE_CONFIG) |
39 |
41 |
49 , public abs_ethernet_core_c |
51 , public abs_ethernet_core_c |
50 , public abs_eap_base_timer_c |
52 , public abs_eap_base_timer_c |
51 #if defined(USE_TEST_EAPOL_WLAN_AUTHENTICATION) |
53 #if defined(USE_TEST_EAPOL_WLAN_AUTHENTICATION) |
52 , public eapol_test_stack_if_c |
54 , public eapol_test_stack_if_c |
53 #endif //#if defined(USE_TEST_EAPOL_WLAN_AUTHENTICATION) |
55 #endif //#if defined(USE_TEST_EAPOL_WLAN_AUTHENTICATION) |
|
56 , public eap_database_reference_if_c |
54 #if defined(USE_EAP_SIMPLE_CONFIG) |
57 #if defined(USE_EAP_SIMPLE_CONFIG) |
55 , public abs_eap_configuration_if_c |
58 , public abs_eap_configuration_if_c |
56 #endif // #if defined(USE_EAP_SIMPLE_CONFIG) |
59 #endif // #if defined(USE_EAP_SIMPLE_CONFIG) |
57 { |
60 { |
58 public: |
61 public: |
59 |
62 |
60 EAP_FUNC_IMPORT static eapol_wlan_authentication_c * new_eapol_wlan_authentication( |
63 EAP_FUNC_IMPORT static eapol_wlan_authentication_c * new_eapol_wlan_authentication( |
61 abs_eap_am_tools_c * const tools, |
64 abs_eap_am_tools_c * const tools, |
62 abs_eapol_wlan_authentication_c * const partner, |
65 abs_eapol_wlan_authentication_c * const partner, |
63 const bool is_client_when_true, |
66 const bool is_client_when_true); |
64 const abs_eapol_wlan_database_reference_if_c * const wlan_database_reference); |
|
65 |
67 |
66 EAP_FUNC_IMPORT eapol_wlan_authentication_c( |
68 EAP_FUNC_IMPORT eapol_wlan_authentication_c( |
67 abs_eap_am_tools_c * const tools, |
69 abs_eap_am_tools_c * const tools, |
68 abs_eapol_wlan_authentication_c * const partner, |
70 abs_eapol_wlan_authentication_c * const partner, |
69 eapol_am_wlan_authentication_c * const am_wauth, ///< eapol_wlan_authentication_c must always delete the am_wauth object. |
71 eapol_am_wlan_authentication_c * const am_wauth, ///< eapol_wlan_authentication_c must always delete the am_wauth object. |
95 |
97 |
96 EAP_FUNC_IMPORT eap_status_e start_authentication( |
98 EAP_FUNC_IMPORT eap_status_e start_authentication( |
97 const eap_variable_data_c * const SSID, |
99 const eap_variable_data_c * const SSID, |
98 const eapol_key_authentication_type_e selected_eapol_key_authentication_type, |
100 const eapol_key_authentication_type_e selected_eapol_key_authentication_type, |
99 const eap_variable_data_c * const wpa_preshared_key, |
101 const eap_variable_data_c * const wpa_preshared_key, |
100 const bool WPA_override_enabled |
102 const bool WPA_override_enabled, |
101 #if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) |
103 const eap_am_network_id_c * const receive_network_id ///< source includes remote address, destination includes local address. |
102 , |
|
103 const eap_am_network_id_c * const receive_network_id ///< source includes remote address, destination includes local address. |
|
104 #endif //#if defined(USE_EAPOL_KEY_STATE_OPTIMIZED_4_WAY_HANDSHAKE) |
|
105 ); |
104 ); |
106 |
105 |
107 EAP_FUNC_IMPORT eap_status_e complete_association( |
106 EAP_FUNC_IMPORT eap_status_e complete_association( |
108 const eapol_wlan_authentication_state_e association_result, |
107 const eapol_wlan_authentication_state_e association_result, |
109 const eap_am_network_id_c * const receive_network_id, ///< source includes remote address, destination includes local address. |
108 const eap_am_network_id_c * const receive_network_id, ///< source includes remote address, destination includes local address. |
289 const eap_variable_data_c * const new_password, |
291 const eap_variable_data_c * const new_password, |
290 const simple_config_Device_Password_ID_e Device_Password_ID, |
292 const simple_config_Device_Password_ID_e Device_Password_ID, |
291 const simple_config_payloads_c * const other_configuration); |
293 const simple_config_payloads_c * const other_configuration); |
292 #endif // #if defined(USE_EAP_SIMPLE_CONFIG) |
294 #endif // #if defined(USE_EAP_SIMPLE_CONFIG) |
293 |
295 |
|
296 EAP_FUNC_IMPORT eap_status_e complete_get_802_11_authentication_mode( |
|
297 const eap_status_e completion_status, |
|
298 const eap_am_network_id_c * const receive_network_id, |
|
299 const eapol_key_802_11_authentication_mode_e mode); |
|
300 |
|
301 EAP_FUNC_IMPORT eap_status_e complete_disassociation( |
|
302 const bool complete_to_lower_layer, |
|
303 const eap_am_network_id_c * const receive_network_id); |
|
304 |
294 private: |
305 private: |
295 |
306 |
296 EAP_FUNC_IMPORT eap_status_e eapol_indication( |
307 eap_status_e eapol_indication( |
297 const eap_am_network_id_c * const receive_network_id, ///< source includes remote address, destination includes local address. |
308 const eap_am_network_id_c * const receive_network_id, ///< source includes remote address, destination includes local address. |
298 const eapol_wlan_authentication_state_e notification); |
309 const eapol_wlan_authentication_state_e notification); |
299 |
310 |
300 EAP_FUNC_IMPORT eap_status_e create_upper_stack(); |
311 eap_status_e create_upper_stack(); |
301 |
312 |
302 eap_status_e disassociation_mutex_must_be_reserved( |
313 eap_status_e disassociation_mutex_must_be_reserved( |
|
314 const bool complete_to_lower_layer, |
|
315 const eap_am_network_id_c * const receive_network_id ///< source includes remote address, destination includes local address. |
|
316 ); |
|
317 |
|
318 eap_status_e internal_disassociation( |
|
319 const bool complete_to_lower_layer, |
303 const eap_am_network_id_c * const receive_network_id ///< source includes remote address, destination includes local address. |
320 const eap_am_network_id_c * const receive_network_id ///< source includes remote address, destination includes local address. |
304 ); |
321 ); |
305 |
322 |
306 eap_status_e cancel_all_authentication_sessions(); |
323 eap_status_e cancel_all_authentication_sessions(); |
307 |
324 |
|
325 eap_status_e complete_check_pmksa_cache( |
|
326 EAP_TEMPLATE_CONST eap_array_c<eap_am_network_id_c> * const bssid_sta_receive_network_ids); |
|
327 |
|
328 eap_status_e cancel_timer_this_ap_failed(); |
|
329 |
|
330 eap_status_e cancel_timer_failed_completely(); |
|
331 |
|
332 eap_status_e cancel_timer_no_response(); |
|
333 |
|
334 eap_status_e cancel_timer_authentication_cancelled(); |
|
335 |
308 private: |
336 private: |
309 |
|
310 |
|
311 eap_status_e cancel_timer_this_ap_failed(); |
|
312 |
|
313 eap_status_e cancel_timer_failed_completely(); |
|
314 |
|
315 eap_status_e cancel_timer_no_response(); |
|
316 |
|
317 eap_status_e cancel_timer_authentication_cancelled(); |
|
318 |
|
319 |
|
320 |
337 |
321 /// Pointer to the lower layer in the stack |
338 /// Pointer to the lower layer in the stack |
322 abs_eapol_wlan_authentication_c * m_partner; |
339 abs_eapol_wlan_authentication_c * m_partner; |
323 |
340 |
324 /// Pointer to the AM of WAUTH. |
341 /// Pointer to the AM of WAUTH. |
330 /// Pointer to the tools class |
347 /// Pointer to the tools class |
331 abs_eap_am_tools_c * m_am_tools; |
348 abs_eap_am_tools_c * m_am_tools; |
332 |
349 |
333 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
350 // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - |
334 |
351 |
335 eap_array_c<eap_type_selection_c> m_selected_eap_types; |
352 //eap_array_c<eap_type_selection_c> m_selected_eap_types; |
336 |
353 |
337 eap_variable_data_c m_wpa_preshared_key_hash; |
354 eap_variable_data_c m_wpa_preshared_key_hash; |
338 |
355 |
339 eapol_key_authentication_type_e m_authentication_type; |
356 eapol_key_authentication_type_e m_authentication_type; |
340 |
357 |