|
1 /* |
|
2 * Copyright (c) 2001-2006 Nokia Corporation and/or its subsidiary(-ies). |
|
3 * All rights reserved. |
|
4 * This component and the accompanying materials are made available |
|
5 * under the terms of the License "Eclipse Public License v1.0" |
|
6 * which accompanies this distribution, and is available |
|
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
8 * |
|
9 * Initial Contributors: |
|
10 * Nokia Corporation - initial contribution. |
|
11 * |
|
12 * Contributors: |
|
13 * |
|
14 * Description: EAP and WLAN authentication protocols. |
|
15 * |
|
16 */ |
|
17 |
|
18 |
|
19 |
|
20 |
|
21 #if !defined(_EAP_PROTOCOL_LAYER_H_) |
|
22 #define _EAP_PROTOCOL_LAYER_H_ |
|
23 |
|
24 /** @file */ |
|
25 |
|
26 #define USE_EAP_PEAPV1_EXTENSIONS |
|
27 |
|
28 /** |
|
29 * A EAP Core protocol layer enumeration. |
|
30 * NOTE, do not change the values, these are used in interface. |
|
31 */ |
|
32 enum eap_protocol_layer_e |
|
33 { |
|
34 eap_protocol_layer_none = 0, |
|
35 eap_protocol_layer_general = 1, ///< This is general protocol layer, eap_general_state_variable_e uses this. |
|
36 eap_protocol_layer_internal_type = 2, ///< This is any internal authentication type used by EAP-type. For example TLS. |
|
37 eap_protocol_layer_am_eap_type = 3, ///< Adaptation module of EAP type. |
|
38 eap_protocol_layer_radius = 4, ///< RADIUS protocol |
|
39 eap_protocol_layer_eap_type = 5, ///< EAP type. |
|
40 eap_protocol_layer_eap = 6, ///< EAP protocol, eap_state_variable_e uses this. |
|
41 eap_protocol_layer_eapol = 7, ///< EAPOL protocol, eapol_state_variable_e uses this. |
|
42 eap_protocol_layer_eapol_key = 8, ///< EAPOL-Key protocol, eapol_key_state_e uses this. |
|
43 eap_protocol_layer_ethernet = 9, ///< Ethernet protocol. |
|
44 eap_protocol_layer_wlan_authentication = 10, ///< WLAN authentication uses this. |
|
45 eap_protocol_layer_authentication_server = 11, ///< authentication server uses this. |
|
46 #if defined(USE_WAPI_CORE) |
|
47 eap_protocol_layer_wapi = 12, ///< WAPI authentication notification to WLAN engine uses this. |
|
48 eap_protocol_layer_wai = 13, ///< WAI authentication protocol uses this. |
|
49 #endif |
|
50 }; |
|
51 |
|
52 |
|
53 /** |
|
54 * A EAP state variable enumeration of eap_protocol_layer_e::eap_protocol_layer_general. |
|
55 * NOTE, do not change the values, these are used in interface. |
|
56 */ |
|
57 enum eap_general_state_variable_e |
|
58 { |
|
59 eap_general_state_none = 0, |
|
60 eap_general_state_show_notification_string = 1, ///< Adaptation module should display notification string to user. |
|
61 eap_general_state_configuration_error = 2, ///< Configuration was incorrect. Cannot continue. |
|
62 eap_general_state_authentication_cancelled = 3, ///< Authentication was cancelled. Cannot continue. |
|
63 eap_general_state_authentication_error = 4, ///< Error on authentication, show appropriate error to user. |
|
64 eap_general_state_immediate_reconnect = 5, ///< This was a provisioning of credentials. Immediately reconnect so the credentials can be used. |
|
65 eap_general_state_last_mark = 6, ///< Keep this the last one. |
|
66 }; |
|
67 |
|
68 /** |
|
69 * A EAP state variable enumeration of eap_protocol_layer_e::eap_protocol_layer_eap, |
|
70 * eap_protocol_layer_e::eap_protocol_layer_internal_type, |
|
71 * eap_protocol_layer_e::eap_protocol_layer_am_eap_type |
|
72 * and eap_protocol_layer_e::eap_protocol_layer_eap_type. |
|
73 * NOTE, do not change the values, these are used in interface. |
|
74 */ |
|
75 enum eap_state_variable_e |
|
76 { |
|
77 eap_state_none = 0, |
|
78 eap_state_identity_request_sent = 1, ///< Server sent the EAP-Request/Identity. |
|
79 eap_state_identity_request_received = 2, ///< Client received the EAP-Request/Identity. |
|
80 eap_state_identity_response_received = 3, ///< Server received the EAP-Response/Identity. |
|
81 eap_state_eap_response_sent = 4, ///< Client sent the first EAP-Response. |
|
82 eap_state_tppd_peapv1_authentication_finished_successfully_with_tunneled_eap_success = 5, ///< Client finished PEAP version 1 with tunneled EAP-Success. |
|
83 eap_state_authentication_finished_successfully = 6, ///< Authentication was successfull and it is finished. |
|
84 eap_state_authentication_terminated_unsuccessfully = 7, ///< Authentication was unsuccessfull and it is terminated. |
|
85 eap_state_authentication_wait_tppd_peapv1_empty_acknowledge = 8, ///< Server waits empty akcnowledge of PEAPv1. |
|
86 eap_state_use_eap_failure_in_termination = 9, ///< Simple Config ends always with EAP-Failure message. |
|
87 eap_state_inner_eap_method_skipped = 10, ///< Inner EAP-method is not run. |
|
88 eap_state_authentication_wait_eap_fast_empty_acknowledge = 11, ///< Server waits empty akcnowledge of EAP-FAST. |
|
89 eap_state_wait_plain_eap_success = 12, ///< Client waits plain EAP-Success. |
|
90 #if defined(USE_EAP_PEAPV1_EXTENSIONS) |
|
91 eap_state_authentication_finished_successfully_peapv1_extension = 13, ///< Client finished PEAP version 1 with tunneled Extension Response. |
|
92 eap_state_authentication_terminated_unsuccessfully_peapv1_extension = 14, ///< Client finished PEAP version 1 with tunneled Extension Response. |
|
93 #endif //#if defined(USE_EAP_PEAPV1_EXTENSIONS) |
|
94 eap_state_last_mark = 15, ///< Keep this the last one. |
|
95 }; |
|
96 |
|
97 /** |
|
98 * NOTE, do not change the values, these are used in interface. |
|
99 */ |
|
100 enum eapol_state_variable_e |
|
101 { |
|
102 eapol_state_none = 0, |
|
103 eapol_state_start_sent = 1, ///< Client has sent EAPOL-Start |
|
104 eapol_state_no_start_response = 2, ///< Client did not receive response to EAPOL-Start |
|
105 }; |
|
106 |
|
107 #endif //#if !defined(_EAP_PROTOCOL_LAYER_H_) |
|
108 |
|
109 //-------------------------------------------------- |
|
110 |
|
111 |
|
112 |
|
113 // End. |