eapol/eapol_framework/eapol_common/type/tls_peap/eap/include/eap_type_tls_peap_types.h
changeset 0 c8830336c852
child 2 1c7bc153c08e
equal deleted inserted replaced
-1:000000000000 0:c8830336c852
       
     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_TYPE_TLS_PEAP_TYPES_H_)
       
    22 #define _EAP_TYPE_TLS_PEAP_TYPES_H_
       
    23 
       
    24 #include "eap_buffer.h"
       
    25 #include "eap_type_all_types.h"
       
    26 #include "tls_peap_types.h"
       
    27 #include "eap_configuration_field.h"
       
    28 
       
    29 /** @file eap_type_tls_peap_types.h 
       
    30  *  @brief This file defines the constants of the TLS_PEAP EAP type.
       
    31  */
       
    32 
       
    33 /**
       
    34  * This is the internal state of the TLS_PEAP EAP type.
       
    35  */
       
    36 enum eap_type_tls_peap_state_variable_e
       
    37 {
       
    38 	eap_type_tls_peap_state_waiting_for_identity_request                          , ///< Client state waiting_for_identity_request
       
    39 	eap_type_tls_peap_state_pending_identity_query                                , ///< Client state pending_identity_query
       
    40 	eap_type_tls_peap_state_waiting_for_tls_start                                 , ///< Client state waiting_for_eap_start
       
    41 	eap_type_tls_peap_state_process_tls_start                                     , ///< Client state process_tls_start
       
    42 	eap_type_tls_peap_state_waiting_for_request                                   , ///< Client state waiting_for_request
       
    43 	eap_type_tls_peap_state_waiting_for_success                                   , ///< Client state waiting_for_success
       
    44 	eap_type_tls_peap_state_tppd_peapv1_waits_eap_success_or_tunneled_packet     , ///< Client state PEAPv1 waits EAP-Success or tunneled packet.
       
    45 
       
    46 	eap_type_tls_peap_state_waiting_for_identity_response                         , ///< Server state waiting_for_identity_response
       
    47 	eap_type_tls_peap_state_waiting_for_first_response                            , ///< Server state waiting_for_first_response, This is needed in PEAP version negotiation.
       
    48 	eap_type_tls_peap_state_waiting_for_response                                  , ///< Server state waiting_for_response
       
    49 	eap_type_tls_peap_state_waiting_for_empty_response                            , ///< Server state waiting_for_empty_response
       
    50 	eap_type_tls_peap_state_waiting_for_empty_tppd_peap_v1_acknowledge           , ///< Server state waiting_for_empty_tppd_peap_v1_response
       
    51 
       
    52 #if defined(EAP_USE_TTLS_PLAIN_MS_CHAP_V2_HACK)
       
    53 	eap_type_tls_peap_state_server_waits_ttls_plain_ms_chap_v2_empty_ack          , ///< This is state notification to server to wait empty TTLS/plain MsChapv2 Ack.
       
    54 #endif //#if defined(EAP_USE_TTLS_PLAIN_MS_CHAP_V2_HACK)
       
    55 
       
    56 	eap_type_tls_peap_state_process_tls_message                                   , ///< Client or server state process_tls_message
       
    57 
       
    58 	eap_type_tls_peap_state_success                                               , ///< State state_success
       
    59 	eap_type_tls_peap_state_failure                                               , ///< State state_failure
       
    60 
       
    61 	eap_type_tls_peap_state_last_value                                            , ///< Keep this enum the last one.
       
    62 };
       
    63 
       
    64 
       
    65 enum eap_type_tls_peap_reassembly_state_e
       
    66 {
       
    67 	eap_type_tls_peap_reassembly_state_none,
       
    68 	eap_type_tls_peap_reassembly_state_wait_first_message,
       
    69 	eap_type_tls_peap_reassembly_state_wait_last_fragment,
       
    70 	eap_type_tls_peap_reassembly_state_message_reassembled,
       
    71 };
       
    72 
       
    73 
       
    74 /**
       
    75  * This is the type of the TLS_PEAP authentication.
       
    76  */
       
    77 enum eap_tls_peap_authentication_type_e
       
    78 {
       
    79 	TLS_PEAP_AUTHENTICATION_TYPE_NONE,
       
    80 	TLS_PEAP_AUTHENTICATION_TYPE_TLS,
       
    81 	TLS_PEAP_AUTHENTICATION_TYPE_PEAP,
       
    82 };
       
    83 
       
    84 enum eap_type_tls_peap_stored_e
       
    85 {
       
    86 	eap_type_tls_peap_stored_none,
       
    87 	eap_type_tls_peap_stored_session_id,
       
    88 	eap_type_tls_peap_stored_master_secret,
       
    89 	eap_type_tls_peap_stored_used_cipher_suite,
       
    90 	eap_type_tls_peap_stored_count_of_session_resumes,
       
    91 	eap_type_tls_peap_stored_test_every_cipher_suite_counter,
       
    92 #if defined(USE_EAP_TLS_SESSION_TICKET)
       
    93 	eap_type_tls_peap_stored_session_ticket_encryption_key,
       
    94 	eap_type_tls_peap_stored_session_ticket_authentication_key,
       
    95 	eap_type_tls_peap_stored_session_ticket_lifetime_hint,
       
    96 	eap_type_tls_peap_stored_session_ticket_data,
       
    97 #endif // #if defined(USE_EAP_TLS_SESSION_TICKET)
       
    98 #if defined(USE_FAST_EAP_TYPE)
       
    99 	eap_type_tls_peap_stored_tunnel_pac_is_fresh,
       
   100 	eap_type_tls_peap_stored_tunnel_pac,
       
   101 	eap_type_tls_peap_stored_user_authorization_pac,
       
   102 	eap_type_tls_peap_stored_provisioning_successfull,
       
   103 	eap_type_tls_peap_stored_provisioning_mode,
       
   104 	eap_type_tls_peap_stored_provisioning_pac_type,
       
   105 	eap_type_tls_peap_stored_tls_session_type,
       
   106 #endif //#if defined(USE_FAST_EAP_TYPE)
       
   107 };
       
   108 
       
   109 /**
       
   110  * This is the size of the local send buffer.
       
   111  */
       
   112 const u32_t EAP_TLS_PEAP_LOCAL_PACKET_BUFFER_LENGTH = EAP_MAX_LOCAL_PACKET_BUFFER_LENGTH;
       
   113 
       
   114 /**
       
   115  * This is the at character used in NAI.
       
   116  */
       
   117 const u8_t EAP_TLS_PEAP_AT_CHARACTER = '@';
       
   118 
       
   119 
       
   120 /**
       
   121  * This is the maximum size of the EAP-TLS/PEAP message.
       
   122  * This value limits the maximum size of the received EAP-TLS/PEAP message.
       
   123  */
       
   124 const u32_t EAP_TLS_PEAP_MAX_MESSAGE_LENGTH = 65536ul;
       
   125 
       
   126 
       
   127 /**
       
   128  *  @defgroup EAP_TLS_PEAP_config_options Configuration options of EAP-TLS/PEAP.
       
   129  *  The following configuration options are read through abs_eap_base_type_c::read_configure() function.
       
   130  *  @{
       
   131  */
       
   132 
       
   133 EAP_CONFIGURATION_FIELD(
       
   134 	cf_str_EAP_TLS_PEAP_use_manual_username,
       
   135 	"EAP_TLS_PEAP_use_manual_username",
       
   136 	eap_configure_type_boolean,
       
   137 	false);
       
   138 
       
   139 EAP_CONFIGURATION_FIELD(
       
   140 	cf_str_EAP_TLS_PEAP_manual_username,
       
   141 	"EAP_TLS_PEAP_manual_username",
       
   142 	eap_configure_type_string,
       
   143 	false);
       
   144 
       
   145 EAP_CONFIGURATION_FIELD(
       
   146 	cf_str_EAP_TLS_PEAP_use_manual_realm,
       
   147 	"EAP_TLS_PEAP_use_manual_realm",
       
   148 	eap_configure_type_boolean,
       
   149 	false);
       
   150 
       
   151 EAP_CONFIGURATION_FIELD(
       
   152 	cf_str_EAP_TLS_PEAP_manual_realm,
       
   153 	"EAP_TLS_PEAP_manual_realm",
       
   154 	eap_configure_type_string,
       
   155 	false);
       
   156 
       
   157 #if defined(USE_EAP_TLS_SESSION_TICKET)
       
   158 EAP_CONFIGURATION_FIELD(
       
   159 	cf_str_EAP_TLS_PEAP_use_session_ticket,
       
   160 	"EAP_TLS_PEAP_use_session_ticket",
       
   161 	eap_configure_type_boolean,
       
   162 	false);
       
   163 #endif //#if defined(USE_EAP_TLS_SESSION_TICKET)
       
   164 
       
   165 
       
   166 #if defined(USE_EAP_TLS_SESSION_TICKET)
       
   167 EAP_CONFIGURATION_FIELD(
       
   168 	cf_str_TLS_fail_with_illegal_session_ticket_or_pac,
       
   169 	"TLS_fail_with_illegal_session_ticket_or_pac",
       
   170 	eap_configure_type_boolean,
       
   171 	false);
       
   172 #endif //#if defined(USE_EAP_TLS_SESSION_TICKET)
       
   173 
       
   174 
       
   175 EAP_CONFIGURATION_FIELD(
       
   176 	cf_str_EAP_TLS_PEAP_disable_certificates,
       
   177 	"EAP_TLS_PEAP_disable_certificates",
       
   178 	eap_configure_type_boolean,
       
   179 	false);
       
   180 
       
   181 
       
   182 EAP_CONFIGURATION_FIELD(
       
   183 	cf_str_EAP_TLS_PEAP_ttls_pap_password_prompt,
       
   184 	"EAP_TLS_PEAP_ttls_pap_password_prompt",
       
   185 	eap_configure_type_boolean,
       
   186 	false);
       
   187 
       
   188 EAP_CONFIGURATION_FIELD(
       
   189 	cf_str_EAP_TLS_PEAP_ttls_pap_username,
       
   190 	"EAP_TLS_PEAP_ttls_pap_username",
       
   191 	eap_configure_type_string,
       
   192 	false);
       
   193 
       
   194 EAP_CONFIGURATION_FIELD(
       
   195 	cf_str_EAP_TLS_PEAP_ttls_pap_password,
       
   196 	"EAP_TLS_PEAP_ttls_pap_password",
       
   197 	eap_configure_type_string,
       
   198 	false);
       
   199 
       
   200 EAP_CONFIGURATION_FIELD(
       
   201 	cf_str_EAP_TLS_PEAP_ttls_pap_max_session_validity_time,
       
   202 	"EAP_TLS_PEAP_ttls_pap_max_session_validity_time",
       
   203 	eap_configure_type_u32_t,
       
   204 	false);
       
   205 
       
   206 
       
   207 EAP_CONFIGURATION_FIELD(
       
   208 	cf_str_EAP_TLS_PEAP_ttls_pap_randomly_fail_password,
       
   209 	"EAP_TLS_PEAP_ttls_pap_randomly_fail_password",
       
   210 	eap_configure_type_boolean,
       
   211 	false);
       
   212 
       
   213 
       
   214 EAP_CONFIGURATION_FIELD(
       
   215 	cf_str_EAP_FAST_authority_identity,
       
   216 	"EAP_FAST_authority_identity",
       
   217 	eap_configure_type_string,
       
   218 	false);
       
   219 
       
   220 EAP_CONFIGURATION_FIELD(
       
   221 	cf_str_EAP_FAST_authority_identity_hex_data,
       
   222 	"EAP_FAST_authority_identity",
       
   223 	eap_configure_type_hex_data,
       
   224 	false);
       
   225 
       
   226 /**
       
   227  * This is boolean configuration option.
       
   228  * True value means every cipher suite is tested during test run.
       
   229  * False value means only selected cipher suite is tested. See EAP_TLS_PEAP_cipher_suite.
       
   230  * Default value is false.
       
   231  */
       
   232 EAP_CONFIGURATION_FIELD(
       
   233 	cf_str_EAP_TLS_PEAP_test_every_cipher_suite,
       
   234 	"EAP_TLS_PEAP_test_every_cipher_suite",
       
   235 	eap_configure_type_boolean,
       
   236 	false);
       
   237 
       
   238 /**
       
   239  *  This u32_t configuration option is the cipher suite.
       
   240  *  Default value is 19 = 0x0013 (TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA).
       
   241  */
       
   242 EAP_CONFIGURATION_FIELD(
       
   243 	cf_str_EAP_TLS_PEAP_cipher_suite,
       
   244 	"EAP_TLS_PEAP_cipher_suite",
       
   245 	eap_configure_type_u32_t,
       
   246 	false);
       
   247 
       
   248 /**
       
   249  *  This u32array_t configuration option is the array of accepted cipher suites.
       
   250  *  Default value is 19 = 0x0013 (TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA).
       
   251  */
       
   252 EAP_CONFIGURATION_FIELD(
       
   253 	cf_str_EAP_TLS_PEAP_allowed_cipher_suites,
       
   254 	"EAP_TLS_PEAP_allowed_cipher_suites",
       
   255 	eap_configure_type_u32array,
       
   256 	false);
       
   257 
       
   258 /**
       
   259  *  This u32_t configuration option is the maximum count of session resumes.
       
   260  *  Default value is 0.
       
   261  */
       
   262 EAP_CONFIGURATION_FIELD(
       
   263 	cf_str_EAP_TLS_PEAP_max_count_of_session_resumes,
       
   264 	"EAP_TLS_PEAP_max_count_of_session_resumes",
       
   265 	eap_configure_type_u32_t,
       
   266 	false);
       
   267 
       
   268 /**
       
   269  *  This u32_t configuration option is the count of session resumes.
       
   270  *  Default value is 0.
       
   271  */
       
   272 #if defined(USE_EAP_FIXED_DATABASE_FIELDS)
       
   273 EAP_CONFIGURATION_FIELD(
       
   274 	cf_str_EAP_TLS_PEAP_count_of_session_resumes,
       
   275 	"EAP_TLS_PEAP_count_of_session_resumes",
       
   276 	eap_configure_type_u32_t,
       
   277 	false);
       
   278 #else
       
   279 EAP_CONFIGURATION_FIELD(
       
   280 	cf_str_EAP_TLS_PEAP_count_of_session_resumes,
       
   281 	"session_resume_count",
       
   282 	eap_configure_type_u32_t,
       
   283 	false);
       
   284 #endif
       
   285 
       
   286 
       
   287 /**
       
   288  *  This hex data configuration option is the saved session ID.
       
   289  *  Default value is 0.
       
   290  */
       
   291 #if defined(USE_EAP_FIXED_DATABASE_FIELDS)
       
   292 EAP_CONFIGURATION_FIELD(
       
   293 	cf_str_EAP_TLS_PEAP_saved_session_id,
       
   294 	"EAP_TLS_PEAP_saved_session_id",
       
   295 	eap_configure_type_hex_data,
       
   296 	false);
       
   297 #else
       
   298 EAP_CONFIGURATION_FIELD(
       
   299 	cf_str_EAP_TLS_PEAP_saved_session_id,
       
   300 	"session_id",
       
   301 	eap_configure_type_hex_data,
       
   302 	false);
       
   303 #endif
       
   304 
       
   305 /**
       
   306  * This hex data or u32array configuration option value is list of EAP-types client accepts inside PEAP.
       
   307  * Values in the u32array are type of u32_t.
       
   308  * This is used in simulator testing.
       
   309  */
       
   310 #if defined(USE_EAP_FIXED_DATABASE_FIELDS)
       
   311 EAP_CONFIGURATION_FIELD(
       
   312 	cf_str_PEAP_accepted_tunneled_client_types_hex_data,
       
   313 	"PEAP_accepted_tunneled_client_types",
       
   314 	eap_configure_type_hex_data,
       
   315 	false);
       
   316 EAP_CONFIGURATION_FIELD(
       
   317 	cf_str_PEAP_accepted_tunneled_client_types_u32array,
       
   318 	"PEAP_accepted_tunneled_client_types",
       
   319 	eap_configure_type_u32array,
       
   320 	false);
       
   321 EAP_CONFIGURATION_FIELD(
       
   322 	cf_str_PEAP_unaccepted_tunneled_client_types_hex_data,
       
   323 	"PEAP_unaccepted_tunneled_client_types",
       
   324 	eap_configure_type_hex_data,
       
   325 	false);
       
   326 EAP_CONFIGURATION_FIELD(
       
   327 	cf_str_PEAP_unaccepted_tunneled_client_types_u32array,
       
   328 	"PEAP_unaccepted_tunneled_client_types",
       
   329 	eap_configure_type_u32array,
       
   330 	false);	
       
   331 #else
       
   332 EAP_CONFIGURATION_FIELD(
       
   333 	cf_str_PEAP_accepted_tunneled_client_types_hex_data,
       
   334 	"PEAP_tunneled_types",
       
   335 	eap_configure_type_hex_data,
       
   336 	false);
       
   337 EAP_CONFIGURATION_FIELD(
       
   338 	cf_str_PEAP_accepted_tunneled_client_types_u32array,
       
   339 	"PEAP_tunneled_types",
       
   340 	eap_configure_type_u32array,
       
   341 	false);
       
   342 
       
   343 #endif
       
   344 
       
   345 /**
       
   346  * This hex data or u32array configuration option value is list of EAP-types server accepts inside PEAP.
       
   347  * Values in the array are type of u32_t.
       
   348  * This is used in simulator testing.
       
   349  */
       
   350 EAP_CONFIGURATION_FIELD(
       
   351 	cf_str_PEAP_accepted_tunneled_server_types_hex_data,
       
   352 	"PEAP_accepted_tunneled_server_types",
       
   353 	eap_configure_type_hex_data,
       
   354 	false);
       
   355 EAP_CONFIGURATION_FIELD(
       
   356 	cf_str_PEAP_accepted_tunneled_server_types_u32array,
       
   357 	"PEAP_accepted_tunneled_server_types",
       
   358 	eap_configure_type_u32array,
       
   359 	false);
       
   360 
       
   361 /**
       
   362  *  This boolean configuration option value true allows PEAP restore tunneled session.
       
   363  *  This means PEAP does not run the tunneled EAP-type when
       
   364  *  PEAP session is resumed successfully.
       
   365  *  Default value is true.
       
   366  */
       
   367 EAP_CONFIGURATION_FIELD(
       
   368 	cf_str_PEAP_allow_tunneled_session_resumption,
       
   369 	"PEAP_allow_tunneled_session_resumption",
       
   370 	eap_configure_type_boolean,
       
   371 	false);
       
   372 
       
   373 /**
       
   374  *  This boolean configuration option value true allows PEAP server restore tunneled session.
       
   375  *  This means PEAP version 0 does not run the tunneled EAP-type when
       
   376  *  PEAP session is resumed successfully.
       
   377  *  Default value is true.
       
   378  */
       
   379 EAP_CONFIGURATION_FIELD(
       
   380 	cf_str_PEAP_server_allow_tunneled_session_resumption,
       
   381 	"PEAP_server_allow_tunneled_session_resumption",
       
   382 	eap_configure_type_boolean,
       
   383 	false);
       
   384 
       
   385 /**
       
   386  *  This boolean configuration option value true commands PEAPv1 server use tunneled Extensions Request message.
       
   387  *  Default value is false.
       
   388  */
       
   389 EAP_CONFIGURATION_FIELD(
       
   390 	cf_str_PEAPv1_server_use_extensions_request,
       
   391 	"PEAPv1_server_use_extensions_request",
       
   392 	eap_configure_type_boolean,
       
   393 	false);
       
   394 
       
   395 /**
       
   396  *  This hex data configuration option is the saved master secret.
       
   397  *  Default value is 0.
       
   398  */
       
   399 #if defined(USE_EAP_FIXED_DATABASE_FIELDS)
       
   400 EAP_CONFIGURATION_FIELD(
       
   401 	cf_str_EAP_TLS_PEAP_saved_master_secret,
       
   402 	"EAP_TLS_PEAP_saved_master_secret",
       
   403 	eap_configure_type_hex_data,
       
   404 	true);
       
   405 #else
       
   406 EAP_CONFIGURATION_FIELD(
       
   407 	cf_str_EAP_TLS_PEAP_saved_master_secret,
       
   408 	"master_secret",
       
   409 	eap_configure_type_hex_data,
       
   410 	true);
       
   411 #endif
       
   412 
       
   413 /**
       
   414  *  This u32_t configuration option is the saved cipher suite.
       
   415  *  Default value is 0.
       
   416  */
       
   417 #if defined(USE_EAP_FIXED_DATABASE_FIELDS)
       
   418 EAP_CONFIGURATION_FIELD(
       
   419 	cf_str_EAP_TLS_PEAP_saved_cipher_suite,
       
   420 	"EAP_TLS_PEAP_saved_cipher_suite",
       
   421 	eap_configure_type_u32_t,
       
   422 	false);
       
   423 #else
       
   424 EAP_CONFIGURATION_FIELD(
       
   425 	cf_str_EAP_TLS_PEAP_saved_cipher_suite,
       
   426 	"saved_cipher_suite",
       
   427 	eap_configure_type_u32_t,
       
   428 	false);
       
   429 #endif
       
   430 
       
   431 
       
   432 /**
       
   433  *  This string configuration option is the filename for the client DSA certificate used 
       
   434  *  in EAP-type TLS_PEAP.
       
   435  */
       
   436 EAP_CONFIGURATION_FIELD(
       
   437 	cf_str_EAP_TLS_PEAP_DSA_client_certificate_file,
       
   438 	"EAP_TLS_PEAP_DSA_client_certificate_file",
       
   439 	eap_configure_type_string,
       
   440 	false);
       
   441 
       
   442 /**
       
   443  *  This string configuration option is the filename for the client DSA private key used 
       
   444  *  in EAP-type TLS_PEAP.
       
   445  */
       
   446 EAP_CONFIGURATION_FIELD(
       
   447 	cf_str_EAP_TLS_PEAP_DSA_client_private_key_file,
       
   448 	"EAP_TLS_PEAP_DSA_client_private_key_file",
       
   449 	eap_configure_type_string,
       
   450 	false);
       
   451 
       
   452 /**
       
   453  *  This string configuration option is the filename for the server DSA certificate used 
       
   454  *  in EAP-type TLS_PEAP.
       
   455  */
       
   456 EAP_CONFIGURATION_FIELD(
       
   457 	cf_str_EAP_TLS_PEAP_DSA_server_certificate_file,
       
   458 	"EAP_TLS_PEAP_DSA_server_certificate_file",
       
   459 	eap_configure_type_string,
       
   460 	false);
       
   461 
       
   462 /**
       
   463  *  This string configuration option is the filename for the server DSA private key used 
       
   464  *  in EAP-type TLS_PEAP.
       
   465  */
       
   466 EAP_CONFIGURATION_FIELD(
       
   467 	cf_str_EAP_TLS_PEAP_DSA_server_private_key_file,
       
   468 	"EAP_TLS_PEAP_DSA_server_private_key_file",
       
   469 	eap_configure_type_string,
       
   470 	false);
       
   471 
       
   472 /**
       
   473  *  This string configuration option is the filename for the client's CA 
       
   474  *	DSA certificate used for verifying server's identity in EAP-type TLS_PEAP.
       
   475  */
       
   476 EAP_CONFIGURATION_FIELD(
       
   477 	cf_str_EAP_TLS_PEAP_DSA_client_ca_certificate_file,
       
   478 	"EAP_TLS_PEAP_DSA_client_ca_certificate_file",
       
   479 	eap_configure_type_string,
       
   480 	false);
       
   481 
       
   482 /**
       
   483  *  This string configuration option is the filename for the server's CA 
       
   484  *	DSA certificate used for verifying client's identity in EAP-type TLS_PEAP.
       
   485  */
       
   486 EAP_CONFIGURATION_FIELD(
       
   487 	cf_str_EAP_TLS_PEAP_DSA_server_ca_certificate_file,
       
   488 	"EAP_TLS_PEAP_DSA_server_ca_certificate_file",
       
   489 	eap_configure_type_string,
       
   490 	false);
       
   491 
       
   492 
       
   493 /**
       
   494  *  This string configuration option is the filename for the client RSA certificate used 
       
   495  *  in EAP-type TLS_PEAP.
       
   496  */
       
   497 EAP_CONFIGURATION_FIELD(
       
   498 	cf_str_EAP_TLS_PEAP_RSA_client_certificate_file,
       
   499 	"EAP_TLS_PEAP_RSA_client_certificate_file",
       
   500 	eap_configure_type_string,
       
   501 	false);
       
   502 
       
   503 /**
       
   504  *  This string configuration option is the filename for the client RSA private key used 
       
   505  *  in EAP-type TLS_PEAP.
       
   506  */
       
   507 EAP_CONFIGURATION_FIELD(
       
   508 	cf_str_EAP_TLS_PEAP_RSA_client_private_key_file,
       
   509 	"EAP_TLS_PEAP_RSA_client_private_key_file",
       
   510 	eap_configure_type_string,
       
   511 	false);
       
   512 
       
   513 /**
       
   514  *  This string configuration option is the filename for the server RSA certificate used 
       
   515  *  in EAP-type TLS_PEAP.
       
   516  */
       
   517 EAP_CONFIGURATION_FIELD(
       
   518 	cf_str_EAP_TLS_PEAP_RSA_server_certificate_file,
       
   519 	"EAP_TLS_PEAP_RSA_server_certificate_file",
       
   520 	eap_configure_type_string,
       
   521 	false);
       
   522 
       
   523 /**
       
   524  *  This string configuration option is the filename for the server RSA private key used 
       
   525  *  in EAP-type TLS_PEAP.
       
   526  */
       
   527 EAP_CONFIGURATION_FIELD(
       
   528 	cf_str_EAP_TLS_PEAP_RSA_server_private_key_file,
       
   529 	"EAP_TLS_PEAP_RSA_server_private_key_file",
       
   530 	eap_configure_type_string,
       
   531 	false);
       
   532 
       
   533 /**
       
   534  *  This string configuration option is the filename for the client's CA 
       
   535  *	RSA certificate used for verifying server's identity in EAP-type TLS_PEAP.
       
   536  */
       
   537 EAP_CONFIGURATION_FIELD(
       
   538 	cf_str_EAP_TLS_PEAP_RSA_client_ca_certificate_file,
       
   539 	"EAP_TLS_PEAP_RSA_client_ca_certificate_file",
       
   540 	eap_configure_type_string,
       
   541 	false);
       
   542 
       
   543 /**
       
   544  *  This string configuration option is the filename for the server's CA 
       
   545  *	RSA certificate used for verifying client's identity in EAP-type TLS_PEAP.
       
   546  */
       
   547 EAP_CONFIGURATION_FIELD(
       
   548 	cf_str_EAP_TLS_PEAP_RSA_server_ca_certificate_file,
       
   549 	"EAP_TLS_PEAP_RSA_server_ca_certificate_file",
       
   550 	eap_configure_type_string,
       
   551 	false);
       
   552 
       
   553 
       
   554 #if defined(USE_EAP_TLS_IDENTITY_PRIVACY)
       
   555 /**
       
   556  *  This is boolean configuration option.
       
   557  *  True value means on TLS client uses privacy.
       
   558  *  False value means on TLS client does not use privacy.
       
   559  *  Default value is false.
       
   560  */
       
   561 EAP_CONFIGURATION_FIELD(
       
   562 	cf_str_EAP_TLS_PEAP_use_identity_privacy,
       
   563 	"EAP_TLS_PEAP_use_identity_privacy",
       
   564 	eap_configure_type_boolean,
       
   565 	false);
       
   566 
       
   567 /**
       
   568  *  This is boolean configuration option.
       
   569  *  True value means on TLS server uses privacy.
       
   570  *  False value means on TLS server does not use privacy.
       
   571  *  Default value is false.
       
   572  */
       
   573 EAP_CONFIGURATION_FIELD(
       
   574 	cf_str_EAP_TLS_PEAP_use_identity_privacy_server,
       
   575 	"EAP_TLS_PEAP_use_identity_privacy_server",
       
   576 	eap_configure_type_boolean,
       
   577 	false);
       
   578 #endif //#if defined(USE_EAP_TLS_IDENTITY_PRIVACY)
       
   579 
       
   580 
       
   581 /**
       
   582  *  This is boolean configuration option.
       
   583  *  True value means EAP-FAST server sends piggypacked EAP-Identity/Request.
       
   584  *  False value means EAP-FAST server does not send piggypacked EAP-Identity/Request, instead it waits empty Ack-message from client.
       
   585  *  Default value is true.
       
   586  */
       
   587 EAP_CONFIGURATION_FIELD(
       
   588 	cf_str_EAP_FAST_send_piggypacked_eap_identity_request,
       
   589 	"EAP_FAST_send_piggypacked_eap_identity_request",
       
   590 	eap_configure_type_boolean,
       
   591 	false);
       
   592 
       
   593 /**
       
   594  *  This is boolean configuration option.
       
   595  *  True value means EAP-FAST can run server unauthenticated provisioning.
       
   596  *  False value means no EAP-FAST server unauthenticated provisioning is allowed.
       
   597  *  Default value is false.
       
   598  */
       
   599 EAP_CONFIGURATION_FIELD(
       
   600 	cf_str_EAP_FAST_allow_server_unauthenticated_provisioning_mode_ADHP,
       
   601 	"EAP_FAST_allow_server_unauthenticated_provisioning_mode_ADHP",
       
   602 	eap_configure_type_boolean,
       
   603 	false);
       
   604 
       
   605 /**
       
   606  * This is boolean configuration option.
       
   607  * True value means EAP-FAST can run server authenticated provisioning.
       
   608  * False value means no EAP-FAST server authenticated provisioning is allowed.
       
   609  * Default value is false.
       
   610  */
       
   611 EAP_CONFIGURATION_FIELD(
       
   612 	cf_str_EAP_FAST_allow_server_authenticated_provisioning_mode,
       
   613 	"EAP_FAST_allow_server_authenticated_provisioning_mode",
       
   614 	eap_configure_type_boolean,
       
   615 	false);
       
   616 
       
   617 
       
   618 /**
       
   619  * This is boolean configuration option.
       
   620  * True value means EAP-FAST client can provisioning User Authorization PAC.
       
   621  * False value means EAP-FAST client can not provisioning User Authorization PAC.
       
   622  * Default value is true.
       
   623  */
       
   624 EAP_CONFIGURATION_FIELD(
       
   625 	cf_str_EAP_FAST_allow_user_authorization_pac_provisioning,
       
   626 	"EAP_FAST_allow_user_authorization_pac_provisioning",
       
   627 	eap_configure_type_boolean,
       
   628 	false);
       
   629 
       
   630 /**
       
   631  * This is boolean configuration option.
       
   632  * True value means EAP-FAST server randomly refuses provisioning User Authorization PAC.
       
   633  * False value means EAP-FAST server does provisioning User Authorization PAC.
       
   634  * Default value is true.
       
   635  */
       
   636 EAP_CONFIGURATION_FIELD(
       
   637 	cf_str_EAP_FAST_randomly_does_not_provision_user_authorization_pac,
       
   638 	"EAP_FAST_randomly_does_not_provision_user_authorization_pac",
       
   639 	eap_configure_type_boolean,
       
   640 	false);
       
   641 
       
   642 /**
       
   643  * This is boolean configuration option.
       
   644  * True value means EAP-FAST server randomly fail successfull authentication with EAP-Failure.
       
   645  * False value means EAP-FAST server does not ramdomly fail authentication.
       
   646  * Default value is false.
       
   647  */
       
   648 EAP_CONFIGURATION_FIELD(
       
   649 	cf_str_EAP_FAST_server_randomly_fail_authentication,
       
   650 	"EAP_FAST_server_randomly_fail_authentication",
       
   651 	eap_configure_type_boolean,
       
   652 	false);
       
   653 
       
   654 /**
       
   655  * This is boolean configuration option.
       
   656  * True value means EAP-FAST client accepts A-ID.
       
   657  * False value means no EAP-FAST client does not accept A-ID.
       
   658  * Default value is false.
       
   659  */
       
   660 EAP_CONFIGURATION_FIELD(
       
   661 	cf_str_EAP_TLS_PEAP_accept_a_id,
       
   662 	"EAP_TLS_PEAP_accept_a_id",
       
   663 	eap_configure_type_boolean,
       
   664 	false);
       
   665 
       
   666 /**
       
   667  * This is boolean configuration option.
       
   668  * True value means EAP-FAST server fail check of User Authorization PAC randomly.
       
   669  * False value means no EAP-FAST server does not fail check of User Authorization PAC randomly.
       
   670  * Default value is false.
       
   671  */
       
   672 EAP_CONFIGURATION_FIELD(
       
   673 	cf_str_EAP_FAST_test_fail_user_authorization_pac_randomly,
       
   674 	"EAP_FAST_test_fail_user_authorization_pac_randomly",
       
   675 	eap_configure_type_boolean,
       
   676 	false);
       
   677 
       
   678 /**
       
   679  * This is boolean configuration option.
       
   680  * True value means EAP-FAST server fail check of Tunnel PAC randomly.
       
   681  * False value means no EAP-FAST server does not fail check of Tunnel PAC randomly.
       
   682  * Default value is false.
       
   683  */
       
   684 EAP_CONFIGURATION_FIELD(
       
   685 	cf_str_EAP_FAST_test_fail_tunnel_pac_randomly,
       
   686 	"EAP_FAST_test_fail_tunnel_pac_randomly",
       
   687 	eap_configure_type_boolean,
       
   688 	false);
       
   689 
       
   690 /**
       
   691  *  This string configuration option is the password of PAC store.
       
   692  */
       
   693 EAP_CONFIGURATION_FIELD(
       
   694 	cf_str_EAP_FAST_PAC_store_password,
       
   695 	"EAP_FAST_PAC_store_password",
       
   696 	eap_configure_type_string,
       
   697 	false);
       
   698 
       
   699 /**
       
   700  *  This string configuration option is the password of PAC file.
       
   701  */
       
   702 EAP_CONFIGURATION_FIELD(
       
   703 	cf_str_EAP_FAST_tppds_PAC_file_password,
       
   704 	"EAP_FAST_tppds_PAC_file_password",
       
   705 	eap_configure_type_string,
       
   706 	false);
       
   707 
       
   708 /**
       
   709  *  This string configuration option is the device seed of PAC store password.
       
   710  */
       
   711 EAP_CONFIGURATION_FIELD(
       
   712 	cf_str_EAP_FAST_PAC_store_device_seed,
       
   713 	"EAP_FAST_PAC_store_device_seed",
       
   714 	eap_configure_type_string,
       
   715 	false);
       
   716 
       
   717 
       
   718 /**
       
   719  *  This string configuration option is the directory path to PAC store.
       
   720  */
       
   721 EAP_CONFIGURATION_FIELD(
       
   722 	cf_str_EAP_FAST_PAC_store_path,
       
   723 	"EAP_FAST_PAC_store_path",
       
   724 	eap_configure_type_string,
       
   725 	false);
       
   726 
       
   727 
       
   728 /**
       
   729  *  This string configuration option is the directory path of import directory of PAC store.
       
   730  */
       
   731 EAP_CONFIGURATION_FIELD(
       
   732 	cf_str_EAP_FAST_import_path,
       
   733 	"EAP_FAST_import_path",
       
   734 	eap_configure_type_string,
       
   735 	false);
       
   736 
       
   737 
       
   738 /**
       
   739  *  This hex data configuration option is the encryption key server uses with PAC.
       
   740  */
       
   741 EAP_CONFIGURATION_FIELD(
       
   742 	cf_str_EAP_FAST_PAC_encryption_key,
       
   743 	"EAP_FAST_PAC_encryption_key",
       
   744 	eap_configure_type_hex_data,
       
   745 	false);
       
   746 
       
   747 /**
       
   748  *  This hex data configuration option is the authentication key server uses with PAC.
       
   749  */
       
   750 EAP_CONFIGURATION_FIELD(
       
   751 	cf_str_EAP_FAST_PAC_authentication_key,
       
   752 	"EAP_FAST_PAC_authentication_key",
       
   753 	eap_configure_type_hex_data,
       
   754 	false);
       
   755 
       
   756 /**
       
   757  *  This hex data configuration option is the IAP reference the client uses.
       
   758  */
       
   759 EAP_CONFIGURATION_FIELD(
       
   760 	cf_str_EAP_FAST_IAP_reference,
       
   761 	"EAP_FAST_IAP_reference",
       
   762 	eap_configure_type_hex_data,
       
   763 	false);
       
   764 
       
   765 /**
       
   766  *  This hex data configuration option is the Group reference the client uses.
       
   767  */
       
   768 EAP_CONFIGURATION_FIELD(
       
   769 	cf_str_EAP_FAST_Group_reference,
       
   770 	"EAP_FAST_Group_reference",
       
   771 	eap_configure_type_hex_data,
       
   772 	false);
       
   773 
       
   774 
       
   775 /**
       
   776  *  This u32_t data configuration option is the timeout of the PAC store key.
       
   777  */
       
   778 EAP_CONFIGURATION_FIELD(
       
   779 	cf_str_EAP_FAST_PAC_store_key_timeout_ms,
       
   780 	"EAP_FAST_PAC_store_key_timeout_ms",
       
   781 	eap_configure_type_u32_t,
       
   782 	false);
       
   783 
       
   784 
       
   785 EAP_CONFIGURATION_FIELD(
       
   786 	cf_str_EAP_FAST_test_remove_IAP_reference,
       
   787 	"EAP_FAST_test_remove_IAP_reference",
       
   788 	eap_configure_type_boolean,
       
   789 	false);
       
   790 
       
   791 EAP_CONFIGURATION_FIELD(
       
   792 	cf_str_EAP_FAST_test_add_imported_PAC_file,
       
   793 	"EAP_FAST_test_add_imported_PAC_file",
       
   794 	eap_configure_type_boolean,
       
   795 	false);
       
   796 
       
   797 
       
   798 /**
       
   799  *  This u32_t data configuration option is the timeout before finish successfull authentication. This is leave time for UI.
       
   800  */
       
   801 EAP_CONFIGURATION_FIELD(
       
   802 	cf_str_EAP_FAST_delay_successfull_finish_timeout,
       
   803 	"EAP_FAST_delay_successfull_finish_timeout",
       
   804 	eap_configure_type_u32_t,
       
   805 	false);
       
   806 
       
   807 /**
       
   808  *  This boolean data configuration option activate prompt to warn for ADHP auto-provisioning when 
       
   809  *  there is no PAC that matches the A-ID sent by server. EAP-FAST specific.
       
   810  */
       
   811 EAP_CONFIGURATION_FIELD(
       
   812 	cf_str_EAP_FAST_warn_ADHP_no_matching_PAC,
       
   813 	"EAP_FAST_warn_ADHP_no_matching_PAC",
       
   814 	eap_configure_type_boolean,
       
   815 	false);
       
   816 
       
   817 /**
       
   818  *  This boolean data configuration option activate prompt to warn for ADHP (Authenticated Diffie-Hellman Protocol) 
       
   819  *  auto-provisioning when there is no PAC at all. EAP-FAST specific.
       
   820  */
       
   821 EAP_CONFIGURATION_FIELD(
       
   822 	cf_str_EAP_FAST_warn_ADHP_no_PAC,
       
   823 	"EAP_FAST_warn_ADHP_no_PAC",
       
   824 	eap_configure_type_boolean,
       
   825 	false);
       
   826 
       
   827 /**
       
   828  *  This boolean data configuration option activate prompt to warn when client encouters a server that has provisioned 
       
   829  *  the client with a PAC before but is not currently selected as the default server. EAP-FAST specific.
       
   830  */
       
   831 EAP_CONFIGURATION_FIELD(
       
   832 	cf_str_EAP_FAST_warn_ADHP_not_default_server,
       
   833 	"EAP_FAST_warn_ADHP_not_default_server",
       
   834 	eap_configure_type_boolean,
       
   835 	false);
       
   836 
       
   837 /**
       
   838  *  This is boolean configuration option.
       
   839  *  True value means on successfull authentication EAP-type TLS_PEAP waits the EAP-Success message.
       
   840  *  False value means on successfull authentication EAP-type TLS_PEAP does NOT wait the EAP-Success message.
       
   841  *  NOTE: True value is needed in Windows RAS.
       
   842  *  Default value is true.
       
   843  */
       
   844 EAP_CONFIGURATION_FIELD(
       
   845 	cf_str_EAP_TLS_PEAP_wait_eap_success_packet,
       
   846 	"EAP_TLS_PEAP_wait_eap_success_packet",
       
   847 	eap_configure_type_boolean,
       
   848 	false);
       
   849 
       
   850 /**
       
   851  *  This is boolean configuration option.
       
   852  *  True value means on EAP-type TLS_PEAP must check identifier of EAP-Response/Identity message.
       
   853  *  False value means on EAP-type TLS_PEAP does not check identifier of EAP-Response/Identity message.
       
   854  *  This is not possible in cases where identifier of the EAP-Request/Identity is generated by other network entities.
       
   855  *  Default value is false.
       
   856  */
       
   857 EAP_CONFIGURATION_FIELD(
       
   858 	cf_str_EAP_TLS_PEAP_check_identifier_of_eap_identity_response,
       
   859 	"EAP_TLS_PEAP_check_identifier_of_eap_identity_response",
       
   860 	eap_configure_type_boolean,
       
   861 	false);
       
   862 
       
   863 /**
       
   864  *  This is boolean configuration option.
       
   865  *  This flag activates NAI realm check. Default value is false.
       
   866  *  When active NAI realm muts be the same as realm given by EAP_TLS_PEAP_manual_realm option.
       
   867  *  Default value is false.
       
   868  */
       
   869 EAP_CONFIGURATION_FIELD(
       
   870 	cf_str_EAP_TLS_PEAP_check_nai_realm,
       
   871 	"EAP_TLS_PEAP_check_nai_realm",
       
   872 	eap_configure_type_boolean,
       
   873 	false);
       
   874 
       
   875 /**
       
   876  *  This is boolean configuration option.
       
   877  *  This is for testing.
       
   878  *  True value means on test version of EAP-type TLS_PEAP is used.
       
   879  *  Test version tries to make as many authentications as it is possible.
       
   880  *  False value means on real version of EAP-type TLS_PEAP is used.
       
   881  *  Default value is false.
       
   882  */
       
   883 EAP_CONFIGURATION_FIELD(
       
   884 	cf_str_EAP_TLS_test_version,
       
   885 	"EAP_TLS_test_version",
       
   886 	eap_configure_type_boolean,
       
   887 	false);
       
   888 
       
   889 /**
       
   890  *  This is boolean configuration option.
       
   891  *  True value of this flag causes client return random
       
   892  *  identity on EAP-Response/Identity.
       
   893  *  False value causes client return real identity
       
   894  *  (IMSI, pseudonym or re-authentication identity)
       
   895  *  in EAP-Response/Identity.
       
   896  *  Default value is false.
       
   897  */
       
   898 EAP_CONFIGURATION_FIELD(
       
   899 	cf_str_EAP_TLS_PEAP_use_random_identity_on_eap_identity_response,
       
   900 	"EAP_TLS_PEAP_use_random_identity_on_eap_identity_response",
       
   901 	eap_configure_type_boolean,
       
   902 	false);
       
   903 
       
   904 /**
       
   905  * This is u32_t configuration option.
       
   906  * Server selects the proposed PEAP version with this option.
       
   907  * Possible values are 2, 1 and 0.
       
   908  * See: PEAPv0 draft-kamath-pppext-peapv0-00.txt
       
   909  *      PEAPv1 draft-josefsson-pppext-eap-tls-eap-05.txt
       
   910  *      PEAPv2 draft-josefsson-pppext-eap-tls-eap-XX.txt
       
   911  */
       
   912 EAP_CONFIGURATION_FIELD(
       
   913 	cf_str_EAP_TLS_PEAP_used_PEAP_version,
       
   914 	"EAP_TLS_PEAP_used_PEAP_version",
       
   915 	eap_configure_type_u32_t,
       
   916 	false);
       
   917 
       
   918 /**
       
   919  * This is u32array configuration option.
       
   920  * Client and server accepts and selects the PEAP version with this option.
       
   921  * Possible values are 2, 1 and 0.
       
   922  * See: PEAPv0 draft-kamath-pppext-peapv0-00.txt
       
   923  *      PEAPv1 draft-josefsson-pppext-eap-tls-eap-05.txt
       
   924  *      PEAPv2 draft-josefsson-pppext-eap-tls-eap-XX.txt
       
   925  */
       
   926 EAP_CONFIGURATION_FIELD(
       
   927 	cf_str_EAP_TLS_PEAP_accepted_PEAP_versions,
       
   928 	"EAP_TLS_PEAP_accepted_PEAP_versions",
       
   929 	eap_configure_type_u32array,
       
   930 	false);
       
   931 
       
   932 /**
       
   933  * This is u32array configuration option.
       
   934  * Server accepts and selects the PEAP version with this option.
       
   935  * Possible values are 2, 1 and 0.
       
   936  * See: PEAPv0 draft-kamath-pppext-peapv0-00.txt
       
   937  *      PEAPv1 draft-josefsson-pppext-eap-tls-eap-05.txt
       
   938  *      PEAPv2 draft-josefsson-pppext-eap-tls-eap-XX.txt
       
   939  */
       
   940 EAP_CONFIGURATION_FIELD(
       
   941 	cf_str_EAP_TLS_PEAP_server_accepted_PEAP_versions,
       
   942 	"EAP_TLS_PEAP_server_accepted_PEAP_versions",
       
   943 	eap_configure_type_u32array,
       
   944 	false);
       
   945 
       
   946 /**
       
   947  * This is boolean configuration option.
       
   948  * This will select whether the different TLS and PEAP version is used.
       
   949  * Different TLS and PEAP versions use TLS message length in all first message fragments
       
   950  * even the message fits to one fragment except EAP-TLS-start, EAP-TLS-Acknowledge and
       
   951  * PEAP-application data. The client acknowledges tunneled EAP-Success message
       
   952  * with empty PEAP message.
       
   953  * Microsoft's and other's TLS and PEAP does use TLS message only
       
   954  * in the first fragmented TLS message.
       
   955  * True value means TLS message length is included (different style).
       
   956  * False value means TLS message length is NOT included (normal style).
       
   957  * Default value is true.
       
   958  */
       
   959 EAP_CONFIGURATION_FIELD(
       
   960 	cf_str_EAP_TLS_PEAP_use_tppd_tls_peap,
       
   961 	"EAP_TLS_PEAP_use_tppd_tls_peap",
       
   962 	eap_configure_type_boolean,
       
   963 	false);
       
   964 
       
   965 /**
       
   966  * On fast session resume Tppd's server does not send tunneled EAP-Success.
       
   967  * Instead it sends plain EAP-Success.
       
   968  * This configuration flag when set true allows this functionality in client and server.
       
   969  * False value disables this functionality in client and server.
       
   970  * Default value is true.
       
   971  */
       
   972 EAP_CONFIGURATION_FIELD(
       
   973 	cf_str_EAP_TLS_use_tppd_peapv1_acknowledge_hack,
       
   974 	"EAP_TLS_use_tppd_peapv1_acknowledge_hack",
       
   975 	eap_configure_type_boolean,
       
   976 	false);
       
   977 
       
   978 /**
       
   979  * This is for server only.
       
   980  * On fast session resume Tppd's server does not send tunneled EAP-Success.
       
   981  * Instead it sends plain EAP-Success.
       
   982  * This configuration flag when set true allows this functionality in server.
       
   983  * False value disables this functionality in server.
       
   984  * Default value is true.
       
   985  */
       
   986 EAP_CONFIGURATION_FIELD(
       
   987 	cf_str_EAP_TLS_server_use_tppd_peapv1_acknowledge_hack,
       
   988 	"EAP_TLS_server_use_tppd_peapv1_acknowledge_hack",
       
   989 	eap_configure_type_boolean,
       
   990 	false);
       
   991 
       
   992 
       
   993 /**
       
   994  * This is boolean configuration option.
       
   995  * This is used in simulator testing.
       
   996  * True value means queries to AM are completed asyncronous.
       
   997  * False value means queries to AM are completed syncronous.
       
   998  */
       
   999 EAP_CONFIGURATION_FIELD(
       
  1000 	cf_str_EAP_TLS_PEAP_do_asyncronous_completions,
       
  1001 	"EAP_TLS_PEAP_do_asyncronous_completions",
       
  1002 	eap_configure_type_boolean,
       
  1003 	false);
       
  1004 
       
  1005 /**
       
  1006  * This is boolean configuration option.
       
  1007  * This is used in simulator testing.
       
  1008  * True value means queries to AM are randomly completed asyncronous.
       
  1009  * False value means queries to AM are randomly completed syncronous.
       
  1010  */
       
  1011 EAP_CONFIGURATION_FIELD(
       
  1012 	cf_str_EAP_TLS_PEAP_do_asyncronous_completions_randomly,
       
  1013 	"EAP_TLS_PEAP_do_asyncronous_completions_randomly",
       
  1014 	eap_configure_type_boolean,
       
  1015 	false);
       
  1016 
       
  1017 /**
       
  1018  * This is u32_t configuration option.
       
  1019  * This is used in simulator testing.
       
  1020  * Value is the maximum completion time (ms) when completitions are
       
  1021  * completed randomly.
       
  1022  */
       
  1023 EAP_CONFIGURATION_FIELD(
       
  1024 	cf_str_EAP_TLS_PEAP_max_tls_completion_time,
       
  1025 	"EAP_TLS_PEAP_max_tls_completion_time",
       
  1026 	eap_configure_type_u32_t,
       
  1027 	false);
       
  1028 
       
  1029 /**
       
  1030  * This is boolean configuration option.
       
  1031  * This is used in client simulator testing.
       
  1032  * True value means query_certificate_chain() to AM fails always automatically in client.
       
  1033  * False value means query_certificate_chain() to AM works normally in client.
       
  1034  */
       
  1035 EAP_CONFIGURATION_FIELD(
       
  1036 	cf_str_EAP_TLS_PEAP_fail_query_certificate_chain,
       
  1037 	"EAP_TLS_PEAP_fail_query_certificate_chain",
       
  1038 	eap_configure_type_boolean,
       
  1039 	false);
       
  1040 
       
  1041 /**
       
  1042  *  This is boolean configuration option.
       
  1043  *  This flag activates NAI realm check of certificate.
       
  1044  *  Both client and server will check this.
       
  1045  *  When this is active *server* checks the NAI realm of EAP-response/Identity is
       
  1046  *  the same as realm given in the certificate of the client.
       
  1047  *  When this is active *client* checks the NAI realm of EAP-response/Identity is
       
  1048  *  the same as realm given in the certificate of the server.
       
  1049  *  Default value is true.
       
  1050  */
       
  1051 EAP_CONFIGURATION_FIELD(
       
  1052 	cf_str_EAP_TLS_PEAP_verify_certificate_realm,
       
  1053 	"EAP_TLS_PEAP_verify_certificate_realm",
       
  1054 	eap_configure_type_boolean,
       
  1055 	false);
       
  1056 
       
  1057 /**
       
  1058  *  This is boolean configuration option.
       
  1059  *  This flag activates "relaxed" NAI realm check of certificate. Realm does not have to 
       
  1060  *  match exactly in this mode. For example server.eapsim.foo and eapsim.foo are considered 
       
  1061  *  to be the same realm.
       
  1062  *  Only client will check this.
       
  1063  *  Default value is false.
       
  1064  */
       
  1065 EAP_CONFIGURATION_FIELD(
       
  1066 	cf_str_EAP_TLS_PEAP_allow_subdomain_matching,
       
  1067 	"EAP_TLS_PEAP_allow_subdomain_matching",
       
  1068 	eap_configure_type_boolean,
       
  1069 	false);
       
  1070 
       
  1071 EAP_CONFIGURATION_FIELD(
       
  1072 	cf_str_EAP_TLS_PEAP_use_eap_expanded_type,
       
  1073 	"EAP_TLS_PEAP_use_eap_expanded_type",
       
  1074 	eap_configure_type_boolean,
       
  1075 	false);
       
  1076 
       
  1077 /**
       
  1078  *  This u32_t configuration value specifies the maximum session validity time in seconds.
       
  1079  *  Default value is 12 hours in seconds, which is 43200 seconds.
       
  1080  */
       
  1081 EAP_CONFIGURATION_FIELD(
       
  1082 	cf_str_EAP_TLS_max_session_validity_time,
       
  1083 	"EAP_TLS_max_session_validity_time",
       
  1084 	eap_configure_type_u32_t,
       
  1085 	false);
       
  1086 
       
  1087 EAP_CONFIGURATION_FIELD(
       
  1088 	cf_str_EAP_PEAP_max_session_validity_time,
       
  1089 	"EAP_PEAP_max_session_validity_time",
       
  1090 	eap_configure_type_u32_t,
       
  1091 	false);
       
  1092 
       
  1093 EAP_CONFIGURATION_FIELD(
       
  1094 	cf_str_EAP_TTLS_max_session_validity_time,
       
  1095 	"EAP_TTLS_max_session_validity_time",
       
  1096 	eap_configure_type_u32_t,
       
  1097 	false);
       
  1098 
       
  1099 EAP_CONFIGURATION_FIELD(
       
  1100 	cf_str_EAP_FAST_max_session_validity_time,
       
  1101 	"EAP_FAST_max_session_validity_time",
       
  1102 	eap_configure_type_u32_t,
       
  1103 	false);
       
  1104 
       
  1105 /** @} */ // End of group EAP_TLS_PEAP_config_options.
       
  1106 
       
  1107 //--------------------------------------------------
       
  1108 
       
  1109 
       
  1110 #endif //#if !defined(_EAP_TYPE_TLS_PEAP_TYPES_H_)
       
  1111 
       
  1112 //--------------------------------------------------
       
  1113 
       
  1114 
       
  1115 
       
  1116 // End.