37 |
37 |
38 #if defined(USE_EAP_SIMPLE_CONFIG) |
38 #if defined(USE_EAP_SIMPLE_CONFIG) |
39 #include "abs_eap_configuration_if.h" |
39 #include "abs_eap_configuration_if.h" |
40 #endif // #if defined(USE_EAP_SIMPLE_CONFIG) |
40 #endif // #if defined(USE_EAP_SIMPLE_CONFIG) |
41 |
41 |
|
42 #include "eap_am_export.h" |
|
43 // Start: added by script change_export_macros.sh. |
|
44 #if defined(EAP_NO_EXPORT_EAPOL_WLAN_AUTHENTICATION_H) |
|
45 #define EAP_CLASS_VISIBILITY_EAPOL_WLAN_AUTHENTICATION_H EAP_NONSHARABLE |
|
46 #define EAP_FUNC_VISIBILITY_EAPOL_WLAN_AUTHENTICATION_H |
|
47 #define EAP_C_FUNC_VISIBILITY_EAPOL_WLAN_AUTHENTICATION_H |
|
48 #define EAP_FUNC_EXPORT_EAPOL_WLAN_AUTHENTICATION_H |
|
49 #define EAP_C_FUNC_EXPORT_EAPOL_WLAN_AUTHENTICATION_H |
|
50 #elif defined(EAP_EXPORT_EAPOL_WLAN_AUTHENTICATION_H) |
|
51 #define EAP_CLASS_VISIBILITY_EAPOL_WLAN_AUTHENTICATION_H EAP_EXPORT |
|
52 #define EAP_FUNC_VISIBILITY_EAPOL_WLAN_AUTHENTICATION_H EAP_FUNC_EXPORT |
|
53 #define EAP_C_FUNC_VISIBILITY_EAPOL_WLAN_AUTHENTICATION_H EAP_C_FUNC_EXPORT |
|
54 #define EAP_FUNC_EXPORT_EAPOL_WLAN_AUTHENTICATION_H EAP_FUNC_EXPORT |
|
55 #define EAP_C_FUNC_EXPORT_EAPOL_WLAN_AUTHENTICATION_H EAP_C_FUNC_EXPORT |
|
56 #else |
|
57 #define EAP_CLASS_VISIBILITY_EAPOL_WLAN_AUTHENTICATION_H EAP_IMPORT |
|
58 #define EAP_FUNC_VISIBILITY_EAPOL_WLAN_AUTHENTICATION_H EAP_FUNC_IMPORT |
|
59 #define EAP_C_FUNC_VISIBILITY_EAPOL_WLAN_AUTHENTICATION_H EAP_C_FUNC_IMPORT |
|
60 #define EAP_FUNC_EXPORT_EAPOL_WLAN_AUTHENTICATION_H |
|
61 #define EAP_C_FUNC_EXPORT_EAPOL_WLAN_AUTHENTICATION_H |
|
62 #endif |
|
63 // End: added by script change_export_macros.sh. |
|
64 |
42 // FORWARD DECLARATIONS |
65 // FORWARD DECLARATIONS |
43 class ethernet_core_c; |
66 class ethernet_core_c; |
44 class eap_am_tools_symbian_c; |
67 class eap_am_tools_symbian_c; |
45 class eap_file_config_c; |
68 class eap_file_config_c; |
46 |
69 |
47 |
70 |
48 // CLASS DECLARATION |
71 // CLASS DECLARATION |
49 class EAP_EXPORT eapol_wlan_authentication_c |
72 class EAP_CLASS_VISIBILITY_EAPOL_WLAN_AUTHENTICATION_H eapol_wlan_authentication_c |
50 : public abs_eapol_am_wlan_authentication_c |
73 : public abs_eapol_am_wlan_authentication_c |
51 , public abs_ethernet_core_c |
74 , public abs_ethernet_core_c |
52 , public abs_eap_base_timer_c |
75 , public abs_eap_base_timer_c |
53 #if defined(USE_TEST_EAPOL_WLAN_AUTHENTICATION) |
76 #if defined(USE_TEST_EAPOL_WLAN_AUTHENTICATION) |
54 , public eapol_test_stack_if_c |
77 , public eapol_test_stack_if_c |
58 , public abs_eap_configuration_if_c |
81 , public abs_eap_configuration_if_c |
59 #endif // #if defined(USE_EAP_SIMPLE_CONFIG) |
82 #endif // #if defined(USE_EAP_SIMPLE_CONFIG) |
60 { |
83 { |
61 public: |
84 public: |
62 |
85 |
63 EAP_FUNC_IMPORT static eapol_wlan_authentication_c * new_eapol_wlan_authentication( |
86 EAP_FUNC_VISIBILITY_EAPOL_WLAN_AUTHENTICATION_H static eapol_wlan_authentication_c * new_eapol_wlan_authentication( |
64 abs_eap_am_tools_c * const tools, |
87 abs_eap_am_tools_c * const tools, |
65 abs_eapol_wlan_authentication_c * const partner, |
88 abs_eapol_wlan_authentication_c * const partner, |
66 const bool is_client_when_true); |
89 const bool is_client_when_true); |
67 |
90 |
68 EAP_FUNC_IMPORT eapol_wlan_authentication_c( |
91 EAP_FUNC_VISIBILITY_EAPOL_WLAN_AUTHENTICATION_H eapol_wlan_authentication_c( |
69 abs_eap_am_tools_c * const tools, |
92 abs_eap_am_tools_c * const tools, |
70 abs_eapol_wlan_authentication_c * const partner, |
93 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. |
94 eapol_am_wlan_authentication_c * const am_wauth, ///< eapol_wlan_authentication_c must always delete the am_wauth object. |
72 const bool is_client_when_true); |
95 const bool is_client_when_true); |
73 |
96 |
74 #if defined(EXPORT_DESTRUCTORS) |
97 // Something in RVCT 2 forces this function cannot be exported. |
75 EAP_FUNC_IMPORT virtual ~eapol_wlan_authentication_c(); // For GCC compilation |
98 virtual ~eapol_wlan_authentication_c(); |
76 #else |
99 |
77 virtual ~eapol_wlan_authentication_c(); // For RVCT compilation |
|
78 #endif |
|
79 |
|
80 |
|
81 /////////////////////////////////////////////////////////////// |
100 /////////////////////////////////////////////////////////////// |
82 /* These are called from WLM */ |
101 /* These are called from WLM */ |
83 |
102 |
84 /** |
103 /** |
85 * This function checks whether PMKSA is cached to each eap_am_network_id_c object. |
104 * This function checks whether PMKSA is cached to each eap_am_network_id_c object. |
87 * no cached PMKSA for removes eap_am_network_id_c object. |
106 * no cached PMKSA for removes eap_am_network_id_c object. |
88 * All eap_am_network_id_c objects that exist in bssid_sta_receive_network_ids |
107 * All eap_am_network_id_c objects that exist in bssid_sta_receive_network_ids |
89 * after function returns have PMKSA cached and read_reassociation_parameters() can be called |
108 * after function returns have PMKSA cached and read_reassociation_parameters() can be called |
90 * with those eap_am_network_id_c objects. |
109 * with those eap_am_network_id_c objects. |
91 */ |
110 */ |
92 EAP_FUNC_IMPORT eap_status_e check_pmksa_cache( |
111 EAP_FUNC_VISIBILITY_EAPOL_WLAN_AUTHENTICATION_H eap_status_e check_pmksa_cache( |
93 eap_array_c<eap_am_network_id_c> * const bssid_sta_receive_network_ids, |
112 eap_array_c<eap_am_network_id_c> * const bssid_sta_receive_network_ids, |
94 const eapol_key_authentication_type_e selected_eapol_key_authentication_type, |
113 const eapol_key_authentication_type_e selected_eapol_key_authentication_type, |
95 const eapol_RSNA_key_header_c::eapol_RSNA_cipher_e pairwise_key_cipher_suite, |
114 const eapol_RSNA_key_header_c::eapol_RSNA_cipher_e pairwise_key_cipher_suite, |
96 const eapol_RSNA_key_header_c::eapol_RSNA_cipher_e group_key_cipher_suite); |
115 const eapol_RSNA_key_header_c::eapol_RSNA_cipher_e group_key_cipher_suite); |
97 |
116 |
98 EAP_FUNC_IMPORT eap_status_e start_authentication( |
117 EAP_FUNC_VISIBILITY_EAPOL_WLAN_AUTHENTICATION_H eap_status_e start_authentication( |
99 const eap_variable_data_c * const SSID, |
118 const eap_variable_data_c * const SSID, |
100 const eapol_key_authentication_type_e selected_eapol_key_authentication_type, |
119 const eapol_key_authentication_type_e selected_eapol_key_authentication_type, |
101 const eap_variable_data_c * const wpa_preshared_key, |
120 const eap_variable_data_c * const wpa_preshared_key, |
102 const bool WPA_override_enabled, |
121 const bool WPA_override_enabled, |
103 const eap_am_network_id_c * const receive_network_id ///< source includes remote address, destination includes local address. |
122 const eap_am_network_id_c * const receive_network_id ///< source includes remote address, destination includes local address. |
104 ); |
123 ); |
105 |
124 |
106 EAP_FUNC_IMPORT eap_status_e complete_association( |
125 EAP_FUNC_VISIBILITY_EAPOL_WLAN_AUTHENTICATION_H eap_status_e complete_association( |
107 const eapol_wlan_authentication_state_e association_result, |
126 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. |
127 const eap_am_network_id_c * const receive_network_id, ///< source includes remote address, destination includes local address. |
109 const eap_variable_data_c * const received_WPA_IE, // WLM must give only the WPA IE to EAPOL |
128 const eap_variable_data_c * const received_WPA_IE, // WLM must give only the WPA IE to EAPOL |
110 const eap_variable_data_c * const sent_WPA_IE, |
129 const eap_variable_data_c * const sent_WPA_IE, |
111 const eapol_RSNA_key_header_c::eapol_RSNA_cipher_e pairwise_key_cipher_suite, |
130 const eapol_RSNA_key_header_c::eapol_RSNA_cipher_e pairwise_key_cipher_suite, |
112 const eapol_RSNA_key_header_c::eapol_RSNA_cipher_e group_key_cipher_suite |
131 const eapol_RSNA_key_header_c::eapol_RSNA_cipher_e group_key_cipher_suite |
113 ); |
132 ); |
114 |
133 |
115 EAP_FUNC_IMPORT eap_status_e disassociation( |
134 EAP_FUNC_VISIBILITY_EAPOL_WLAN_AUTHENTICATION_H eap_status_e disassociation( |
116 const eap_am_network_id_c * const receive_network_id ///< source includes remote address, destination includes local address. |
135 const eap_am_network_id_c * const receive_network_id ///< source includes remote address, destination includes local address. |
117 ); |
136 ); |
118 |
137 |
119 EAP_FUNC_IMPORT eap_status_e start_preauthentication( |
138 EAP_FUNC_VISIBILITY_EAPOL_WLAN_AUTHENTICATION_H eap_status_e start_preauthentication( |
120 const eap_am_network_id_c * const receive_network_id ///< source includes remote address, destination includes local address. |
139 const eap_am_network_id_c * const receive_network_id ///< source includes remote address, destination includes local address. |
121 ); |
140 ); |
122 |
141 |
123 EAP_FUNC_IMPORT eap_status_e start_reassociation( |
142 EAP_FUNC_VISIBILITY_EAPOL_WLAN_AUTHENTICATION_H eap_status_e start_reassociation( |
124 const eap_am_network_id_c * const old_receive_network_id, ///< source includes remote address, destination includes local address. |
143 const eap_am_network_id_c * const old_receive_network_id, ///< source includes remote address, destination includes local address. |
125 const eap_am_network_id_c * const new_receive_network_id, ///< source includes remote address, destination includes local address. |
144 const eap_am_network_id_c * const new_receive_network_id, ///< source includes remote address, destination includes local address. |
126 const eapol_key_authentication_type_e selected_eapol_key_authentication_type ///< In WPXM this must be the same in old and new APs, other connections can change authentication type. |
145 const eapol_key_authentication_type_e selected_eapol_key_authentication_type ///< In WPXM this must be the same in old and new APs, other connections can change authentication type. |
127 ); |
146 ); |
128 |
147 |
129 EAP_FUNC_IMPORT eap_status_e complete_reassociation( |
148 EAP_FUNC_VISIBILITY_EAPOL_WLAN_AUTHENTICATION_H eap_status_e complete_reassociation( |
130 const eapol_wlan_authentication_state_e reassociation_result, |
149 const eapol_wlan_authentication_state_e reassociation_result, |
131 const eap_am_network_id_c * const receive_network_id, |
150 const eap_am_network_id_c * const receive_network_id, |
132 const eap_variable_data_c * const received_WPA_IE, // WLM must give only the WPA IE to EAPOL |
151 const eap_variable_data_c * const received_WPA_IE, // WLM must give only the WPA IE to EAPOL |
133 const eap_variable_data_c * const sent_WPA_IE, |
152 const eap_variable_data_c * const sent_WPA_IE, |
134 const eapol_RSNA_key_header_c::eapol_RSNA_cipher_e pairwise_key_cipher_suite, |
153 const eapol_RSNA_key_header_c::eapol_RSNA_cipher_e pairwise_key_cipher_suite, |
135 const eapol_RSNA_key_header_c::eapol_RSNA_cipher_e group_key_cipher_suite); |
154 const eapol_RSNA_key_header_c::eapol_RSNA_cipher_e group_key_cipher_suite); |
136 |
155 |
137 EAP_FUNC_IMPORT eap_status_e start_WPXM_reassociation( |
156 EAP_FUNC_VISIBILITY_EAPOL_WLAN_AUTHENTICATION_H eap_status_e start_WPXM_reassociation( |
138 const eap_am_network_id_c * const old_receive_network_id, ///< source includes remote address, destination includes local address. |
157 const eap_am_network_id_c * const old_receive_network_id, ///< source includes remote address, destination includes local address. |
139 const eap_am_network_id_c * const new_receive_network_id, ///< source includes remote address, destination includes local address. |
158 const eap_am_network_id_c * const new_receive_network_id, ///< source includes remote address, destination includes local address. |
140 eap_variable_data_c * const send_reassociation_request_ie, |
159 eap_variable_data_c * const send_reassociation_request_ie, |
141 const eap_variable_data_c * const received_WPA_ie, |
160 const eap_variable_data_c * const received_WPA_ie, |
142 const eap_variable_data_c * const sent_WPA_ie); |
161 const eap_variable_data_c * const sent_WPA_ie); |
143 |
162 |
144 EAP_FUNC_IMPORT eap_status_e complete_WPXM_reassociation( |
163 EAP_FUNC_VISIBILITY_EAPOL_WLAN_AUTHENTICATION_H eap_status_e complete_WPXM_reassociation( |
145 const eapol_wlan_authentication_state_e reassociation_result, |
164 const eapol_wlan_authentication_state_e reassociation_result, |
146 const eap_am_network_id_c * const receive_network_id, |
165 const eap_am_network_id_c * const receive_network_id, |
147 const eap_variable_data_c * const received_reassociation_ie); |
166 const eap_variable_data_c * const received_reassociation_ie); |
148 |
167 |
149 EAP_FUNC_IMPORT eap_status_e packet_process( |
168 EAP_FUNC_VISIBILITY_EAPOL_WLAN_AUTHENTICATION_H eap_status_e packet_process( |
150 const eap_am_network_id_c * const receive_network_id, ///< source includes remote address, destination includes local address. |
169 const eap_am_network_id_c * const receive_network_id, ///< source includes remote address, destination includes local address. |
151 eap_general_header_base_c * const packet_data, |
170 eap_general_header_base_c * const packet_data, |
152 const u32_t packet_length |
171 const u32_t packet_length |
153 ); |
172 ); |
154 |
173 |
155 EAP_FUNC_IMPORT eap_status_e tkip_mic_failure( |
174 EAP_FUNC_VISIBILITY_EAPOL_WLAN_AUTHENTICATION_H eap_status_e tkip_mic_failure( |
156 const eap_am_network_id_c * const receive_network_id, ///< source includes remote address, destination includes local address. |
175 const eap_am_network_id_c * const receive_network_id, ///< source includes remote address, destination includes local address. |
157 const bool fatal_failure_when_true, |
176 const bool fatal_failure_when_true, |
158 const eapol_RSNA_key_header_c::eapol_tkip_mic_failure_type_e tkip_mic_failure_type |
177 const eapol_RSNA_key_header_c::eapol_tkip_mic_failure_type_e tkip_mic_failure_type |
159 ); |
178 ); |
160 |
179 |
161 EAP_FUNC_IMPORT eap_status_e eap_acknowledge( |
180 EAP_FUNC_VISIBILITY_EAPOL_WLAN_AUTHENTICATION_H eap_status_e eap_acknowledge( |
162 const eap_am_network_id_c * const receive_network_id ///< source includes remote address, destination includes local address. |
181 const eap_am_network_id_c * const receive_network_id ///< source includes remote address, destination includes local address. |
163 ); |
182 ); |
164 |
183 |
165 EAP_FUNC_IMPORT eap_status_e set_eap_database_reference_values( |
184 EAP_FUNC_VISIBILITY_EAPOL_WLAN_AUTHENTICATION_H eap_status_e set_eap_database_reference_values( |
166 const eap_variable_data_c * const reference); |
185 const eap_variable_data_c * const reference); |
167 |
186 |
168 ///////////////////////////////////////// |
187 ///////////////////////////////////////// |
169 /* These are called from ethernet_core */ |
188 /* These are called from ethernet_core */ |
170 |
189 |
171 /** |
190 /** |
172 * Sends packet to lower layers |
191 * Sends packet to lower layers |
173 */ |
192 */ |
174 EAP_FUNC_IMPORT eap_status_e packet_send( |
193 EAP_FUNC_VISIBILITY_EAPOL_WLAN_AUTHENTICATION_H eap_status_e packet_send( |
175 const eap_am_network_id_c * const send_network_id, ///< source includes local address, destination includes remote address. |
194 const eap_am_network_id_c * const send_network_id, ///< source includes local address, destination includes remote address. |
176 eap_buf_chain_wr_c * const sent_packet, |
195 eap_buf_chain_wr_c * const sent_packet, |
177 const u32_t header_offset, |
196 const u32_t header_offset, |
178 const u32_t data_length, |
197 const u32_t data_length, |
179 const u32_t buffer_length); |
198 const u32_t buffer_length); |
180 |
199 |
181 EAP_FUNC_IMPORT u32_t get_header_offset( |
200 EAP_FUNC_VISIBILITY_EAPOL_WLAN_AUTHENTICATION_H u32_t get_header_offset( |
182 u32_t * const MTU, |
201 u32_t * const MTU, |
183 u32_t * const trailer_length); |
202 u32_t * const trailer_length); |
184 |
203 |
185 /** |
204 /** |
186 * Loads an EAP type plug-in. |
205 * Loads an EAP type plug-in. |
188 * @param partner Pointer to the partner class for the EAP type. |
207 * @param partner Pointer to the partner class for the EAP type. |
189 * @param eap_type The pointer for the loaded type should be set here. |
208 * @param eap_type The pointer for the loaded type should be set here. |
190 * @param is_client_when_true Indicates whether the loaded EAP type should be client or server. |
209 * @param is_client_when_true Indicates whether the loaded EAP type should be client or server. |
191 * @param receive_network_id Network address. |
210 * @param receive_network_id Network address. |
192 */ |
211 */ |
193 EAP_FUNC_IMPORT eap_status_e load_module( |
212 EAP_FUNC_VISIBILITY_EAPOL_WLAN_AUTHENTICATION_H eap_status_e load_module( |
194 const eap_type_value_e type, |
213 const eap_type_value_e type, |
195 const eap_type_value_e /* tunneling_type */, |
214 const eap_type_value_e /* tunneling_type */, |
196 abs_eap_base_type_c * const partner, |
215 abs_eap_base_type_c * const partner, |
197 eap_base_type_c ** const eap_type, |
216 eap_base_type_c ** const eap_type, |
198 const bool is_client_when_true, |
217 const bool is_client_when_true, |
199 const eap_am_network_id_c * const receive_network_id ///< source includes remote address, destination includes local address. |
218 const eap_am_network_id_c * const receive_network_id ///< source includes remote address, destination includes local address. |
200 ); |
219 ); |
201 |
220 |
202 EAP_FUNC_IMPORT eap_status_e unload_module(const eap_type_value_e type); |
221 EAP_FUNC_VISIBILITY_EAPOL_WLAN_AUTHENTICATION_H eap_status_e unload_module(const eap_type_value_e type); |
203 |
222 |
204 EAP_FUNC_IMPORT void set_is_valid(); |
223 EAP_FUNC_VISIBILITY_EAPOL_WLAN_AUTHENTICATION_H void set_is_valid(); |
205 |
224 |
206 EAP_FUNC_IMPORT bool get_is_valid(); |
225 EAP_FUNC_VISIBILITY_EAPOL_WLAN_AUTHENTICATION_H bool get_is_valid(); |
207 |
226 |
208 EAP_FUNC_IMPORT void increment_authentication_counter(); |
227 EAP_FUNC_VISIBILITY_EAPOL_WLAN_AUTHENTICATION_H void increment_authentication_counter(); |
209 |
228 |
210 EAP_FUNC_IMPORT u32_t get_authentication_counter(); |
229 EAP_FUNC_VISIBILITY_EAPOL_WLAN_AUTHENTICATION_H u32_t get_authentication_counter(); |
211 |
230 |
212 EAP_FUNC_IMPORT bool get_is_client(); |
231 EAP_FUNC_VISIBILITY_EAPOL_WLAN_AUTHENTICATION_H bool get_is_client(); |
213 |
232 |
214 /** |
233 /** |
215 * This does the initial configuration of the class. |
234 * This does the initial configuration of the class. |
216 */ |
235 */ |
217 EAP_FUNC_IMPORT eap_status_e configure(); |
236 EAP_FUNC_VISIBILITY_EAPOL_WLAN_AUTHENTICATION_H eap_status_e configure(); |
218 |
237 |
219 EAP_FUNC_IMPORT eap_status_e shutdown(); |
238 EAP_FUNC_VISIBILITY_EAPOL_WLAN_AUTHENTICATION_H eap_status_e shutdown(); |
220 |
239 |
221 /** |
240 /** |
222 * Reads a configuration parameter value from the database. |
241 * Reads a configuration parameter value from the database. |
223 * In Symbian this function is only a TRAP wrapper for read_configure_L. |
242 * In Symbian this function is only a TRAP wrapper for read_configure_L. |
224 */ |
243 */ |
225 EAP_FUNC_IMPORT eap_status_e read_configure( |
244 EAP_FUNC_VISIBILITY_EAPOL_WLAN_AUTHENTICATION_H eap_status_e read_configure( |
226 const eap_configuration_field_c * const field, |
245 const eap_configuration_field_c * const field, |
227 eap_variable_data_c * const data); |
246 eap_variable_data_c * const data); |
228 |
247 |
229 EAP_FUNC_IMPORT eap_status_e write_configure( |
248 EAP_FUNC_VISIBILITY_EAPOL_WLAN_AUTHENTICATION_H eap_status_e write_configure( |
230 const eap_configuration_field_c * const field, |
249 const eap_configuration_field_c * const field, |
231 eap_variable_data_c * const data); |
250 eap_variable_data_c * const data); |
232 |
251 |
233 // See abs_eap_base_type_c::state_notification(). |
252 // See abs_eap_base_type_c::state_notification(). |
234 EAP_FUNC_IMPORT void state_notification(const abs_eap_state_notification_c * const state); |
253 EAP_FUNC_VISIBILITY_EAPOL_WLAN_AUTHENTICATION_H void state_notification(const abs_eap_state_notification_c * const state); |
235 |
254 |
236 EAP_FUNC_IMPORT eap_status_e set_timer( |
255 EAP_FUNC_VISIBILITY_EAPOL_WLAN_AUTHENTICATION_H eap_status_e set_timer( |
237 abs_eap_base_timer_c * const p_initializer, |
256 abs_eap_base_timer_c * const p_initializer, |
238 const u32_t p_id, |
257 const u32_t p_id, |
239 void * const p_data, |
258 void * const p_data, |
240 const u32_t p_time_ms); |
259 const u32_t p_time_ms); |
241 |
260 |
242 EAP_FUNC_IMPORT eap_status_e cancel_timer( |
261 EAP_FUNC_VISIBILITY_EAPOL_WLAN_AUTHENTICATION_H eap_status_e cancel_timer( |
243 abs_eap_base_timer_c * const p_initializer, |
262 abs_eap_base_timer_c * const p_initializer, |
244 const u32_t p_id); |
263 const u32_t p_id); |
245 |
264 |
246 EAP_FUNC_IMPORT eap_status_e cancel_all_timers(); |
265 EAP_FUNC_VISIBILITY_EAPOL_WLAN_AUTHENTICATION_H eap_status_e cancel_all_timers(); |
247 |
266 |
248 EAP_FUNC_IMPORT eap_status_e check_is_valid_eap_type(const eap_type_value_e eap_type); |
267 EAP_FUNC_VISIBILITY_EAPOL_WLAN_AUTHENTICATION_H eap_status_e check_is_valid_eap_type(const eap_type_value_e eap_type); |
249 |
268 |
250 /** |
269 /** |
251 * Forwards the keys to lower layer (= WLM). |
270 * Forwards the keys to lower layer (= WLM). |
252 */ |
271 */ |
253 EAP_FUNC_IMPORT eap_status_e packet_data_session_key( |
272 EAP_FUNC_VISIBILITY_EAPOL_WLAN_AUTHENTICATION_H eap_status_e packet_data_session_key( |
254 const eap_am_network_id_c * const send_network_id, ///< source includes local address, destination includes remote address. |
273 const eap_am_network_id_c * const send_network_id, ///< source includes local address, destination includes remote address. |
255 const eapol_session_key_c * const key); |
274 const eapol_session_key_c * const key); |
256 |
275 |
257 EAP_FUNC_IMPORT eap_status_e timer_expired(const u32_t id, void *data); |
276 EAP_FUNC_VISIBILITY_EAPOL_WLAN_AUTHENTICATION_H eap_status_e timer_expired(const u32_t id, void *data); |
258 |
277 |
259 EAP_FUNC_IMPORT eap_status_e timer_delete_data(const u32_t id, void *data); |
278 EAP_FUNC_VISIBILITY_EAPOL_WLAN_AUTHENTICATION_H eap_status_e timer_delete_data(const u32_t id, void *data); |
260 |
279 |
261 EAP_FUNC_IMPORT eap_status_e get_eap_type_list( |
280 EAP_FUNC_VISIBILITY_EAPOL_WLAN_AUTHENTICATION_H eap_status_e get_eap_type_list( |
262 eap_array_c<eap_type_value_e> * const eap_type_list); |
281 eap_array_c<eap_type_value_e> * const eap_type_list); |
263 |
282 |
264 EAP_FUNC_IMPORT eap_status_e add_rogue_ap(eap_array_c<eap_rogue_ap_entry_c> & rogue_ap_list); |
283 EAP_FUNC_VISIBILITY_EAPOL_WLAN_AUTHENTICATION_H eap_status_e add_rogue_ap(eap_array_c<eap_rogue_ap_entry_c> & rogue_ap_list); |
265 |
284 |
266 EAP_FUNC_IMPORT u32_t get_current_eap_index(); |
285 EAP_FUNC_VISIBILITY_EAPOL_WLAN_AUTHENTICATION_H u32_t get_current_eap_index(); |
267 |
286 |
268 EAP_FUNC_IMPORT void set_current_eap_index(u32_t eap_index); |
287 EAP_FUNC_VISIBILITY_EAPOL_WLAN_AUTHENTICATION_H void set_current_eap_index(u32_t eap_index); |
269 |
288 |
270 |
289 |
271 #if defined(USE_TEST_EAPOL_WLAN_AUTHENTICATION) |
290 #if defined(USE_TEST_EAPOL_WLAN_AUTHENTICATION) |
272 /// These are called by testing application. |
291 /// These are called by testing application. |
273 EAP_FUNC_IMPORT u32_t get_wrong_send_packet_index(); |
292 EAP_FUNC_VISIBILITY_EAPOL_WLAN_AUTHENTICATION_H u32_t get_wrong_send_packet_index(); |
274 |
293 |
275 EAP_FUNC_IMPORT void reset_authentication_can_succeed(); |
294 EAP_FUNC_VISIBILITY_EAPOL_WLAN_AUTHENTICATION_H void reset_authentication_can_succeed(); |
276 |
295 |
277 EAP_FUNC_IMPORT void set_authentication_can_succeed(); |
296 EAP_FUNC_VISIBILITY_EAPOL_WLAN_AUTHENTICATION_H void set_authentication_can_succeed(); |
278 |
297 |
279 EAP_FUNC_IMPORT void restore_authentication_can_succeed(); |
298 EAP_FUNC_VISIBILITY_EAPOL_WLAN_AUTHENTICATION_H void restore_authentication_can_succeed(); |
280 |
299 |
281 EAP_FUNC_IMPORT void set_authentication_must_not_succeed( |
300 EAP_FUNC_VISIBILITY_EAPOL_WLAN_AUTHENTICATION_H void set_authentication_must_not_succeed( |
282 const u32_t wrong_packet_index, |
301 const u32_t wrong_packet_index, |
283 const u32_t packet_index, |
302 const u32_t packet_index, |
284 const void * const wrong_packet_stack); |
303 const void * const wrong_packet_stack); |
285 #endif //#if defined(USE_TEST_EAPOL_WLAN_AUTHENTICATION) |
304 #endif //#if defined(USE_TEST_EAPOL_WLAN_AUTHENTICATION) |
286 |
305 |
287 #if defined(USE_EAP_SIMPLE_CONFIG) |
306 #if defined(USE_EAP_SIMPLE_CONFIG) |
288 EAP_FUNC_IMPORT eap_status_e save_simple_config_session( |
307 EAP_FUNC_VISIBILITY_EAPOL_WLAN_AUTHENTICATION_H eap_status_e save_simple_config_session( |
289 const simple_config_state_e state, |
308 const simple_config_state_e state, |
290 EAP_TEMPLATE_CONST eap_array_c<simple_config_credential_c> * const credential_array, |
309 EAP_TEMPLATE_CONST eap_array_c<simple_config_credential_c> * const credential_array, |
291 const eap_variable_data_c * const new_password, |
310 const eap_variable_data_c * const new_password, |
292 const simple_config_Device_Password_ID_e Device_Password_ID, |
311 const simple_config_Device_Password_ID_e Device_Password_ID, |
293 const simple_config_payloads_c * const other_configuration); |
312 const simple_config_payloads_c * const other_configuration); |
294 #endif // #if defined(USE_EAP_SIMPLE_CONFIG) |
313 #endif // #if defined(USE_EAP_SIMPLE_CONFIG) |
295 |
314 |
296 EAP_FUNC_IMPORT eap_status_e complete_get_802_11_authentication_mode( |
315 EAP_FUNC_VISIBILITY_EAPOL_WLAN_AUTHENTICATION_H eap_status_e complete_get_802_11_authentication_mode( |
297 const eap_status_e completion_status, |
316 const eap_status_e completion_status, |
298 const eap_am_network_id_c * const receive_network_id, |
317 const eap_am_network_id_c * const receive_network_id, |
299 const eapol_key_802_11_authentication_mode_e mode); |
318 const eapol_key_802_11_authentication_mode_e mode); |
300 |
319 |
301 EAP_FUNC_IMPORT eap_status_e complete_disassociation( |
320 EAP_FUNC_VISIBILITY_EAPOL_WLAN_AUTHENTICATION_H eap_status_e complete_disassociation( |
302 const bool complete_to_lower_layer, |
321 const bool complete_to_lower_layer, |
303 const eap_am_network_id_c * const receive_network_id); |
322 const eap_am_network_id_c * const receive_network_id); |
304 |
323 |
305 private: |
324 private: |
306 |
325 |