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