eapol/eapol_framework/eapol_common/include/eap_config.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_CONFIG_H_)
       
    22 #define _EAP_CONFIG_H_
       
    23 
       
    24 #include "eap_configuration_field.h"
       
    25 
       
    26 
       
    27 enum eap_type_default_constants_e
       
    28 {
       
    29 	eap_type_default_credential_timeout = 43200000, ///< Default timeout of EAP credentials is 12 hours = 43200000 milli seconds.
       
    30 };
       
    31 
       
    32 //--------------------------------------------------------------------------------------------------
       
    33 
       
    34 /**
       
    35  *  @defgroup Common_EAP_config_options Common configuration options of EAP.
       
    36  *  The following configuration options are read through abs_eap_base_type_c::read_configure() function.
       
    37  *  @{
       
    38  */
       
    39 
       
    40 
       
    41 
       
    42 EAP_CONFIGURATION_FIELD(
       
    43 	cf_str_EAP_access_point_name,
       
    44 	"EAP_access_point_name",
       
    45 	eap_configure_type_section,
       
    46 	false);
       
    47 
       
    48 
       
    49 /**
       
    50  *  This u32_t or hex data configuration option selects the default EAP type.
       
    51  */
       
    52 EAP_CONFIGURATION_FIELD(
       
    53 	cf_str_EAP_default_type_hex_data,
       
    54 	"EAP_default_type",
       
    55 	eap_configure_type_hex_data,
       
    56 	false);
       
    57 EAP_CONFIGURATION_FIELD(
       
    58 	cf_str_EAP_default_type_u32_t,
       
    59 	"EAP_default_type",
       
    60 	eap_configure_type_u32_t,
       
    61 	false);
       
    62 
       
    63 /**
       
    64  *  This string configuration option sets the additional routing realms 
       
    65  *  to the NAI of EAP Identity-Response of the outer EAP method. The format of 
       
    66  *  the string must be "realm1!realm2!realm3" in which realm1 is the first 
       
    67  *  location in the route. The NAI becomes "realm2!realm3!homerealm!username@realm1".
       
    68  *  See RFC4242 for more info. Default value is an empty string.
       
    69  */
       
    70 EAP_CONFIGURATION_FIELD(
       
    71 	cf_str_EAP_outer_identity_routing,
       
    72 	"EAP_outer_identity_routing",
       
    73 	eap_configure_type_string,
       
    74 	false);
       
    75 
       
    76 /**
       
    77  *  This string configuration option sets the additional NAI decoration 
       
    78  *  to the NAI of EAP Identity-Response of the outer EAP method. The given 
       
    79  *  string (e.g. "{decoration}") is placed as such in front of the username. 
       
    80  *  The NAI becomes "{decoration}username@realm". See RFC4242 for more info. 
       
    81  *  Default value is an empty string.
       
    82  */
       
    83 EAP_CONFIGURATION_FIELD(
       
    84 	cf_str_EAP_outer_identity_decoration,
       
    85 	"EAP_outer_identity_decoration",
       
    86 	eap_configure_type_string,
       
    87 	false);
       
    88 
       
    89 /**
       
    90  *  This u32_t or hex data configuration option selects the default EAP type of EAP-server.
       
    91  *  Reason for this is we could test EAP-Core in a case where
       
    92  *  EAP-client and EAP-server have different default EAP-types.
       
    93  *  If this is not defined EAP-server uses EAP_default_type option.
       
    94  */
       
    95 EAP_CONFIGURATION_FIELD(
       
    96 	cf_str_EAP_server_default_type_hex_data,
       
    97 	"EAP_server_default_type",
       
    98 	eap_configure_type_hex_data,
       
    99 	false);
       
   100 EAP_CONFIGURATION_FIELD(
       
   101 	cf_str_EAP_server_default_type_u32_t,
       
   102 	"EAP_server_default_type",
       
   103 	eap_configure_type_u32_t,
       
   104 	false);
       
   105 
       
   106 /**
       
   107  *  This boolean configuration option enables EAP-Nak message handling immediately with true value.
       
   108  *  False value means EAP-Nak is prosessed after a timeout.
       
   109  *  Default value is true.
       
   110  */
       
   111 EAP_CONFIGURATION_FIELD(
       
   112 	cf_str_EAP_CORE_process_EAP_Nak_immediately,
       
   113 	"EAP_CORE_process_EAP_Nak_immediately",
       
   114 	eap_configure_type_boolean,
       
   115 	false);
       
   116 
       
   117 /**
       
   118  *  This boolean configuration option disables EAP traces with true value.
       
   119  *  Default value is false.
       
   120  */
       
   121 EAP_CONFIGURATION_FIELD(
       
   122 	cf_str_EAP_TRACE_disable_traces,
       
   123 	"EAP_TRACE_disable_traces",
       
   124 	eap_configure_type_boolean,
       
   125 	false);
       
   126 
       
   127 /**
       
   128  *  This boolean configuration option enables EAP function traces with true value.
       
   129  *  Default value is false.
       
   130  */
       
   131 EAP_CONFIGURATION_FIELD(
       
   132 	cf_str_EAP_TRACE_enable_function_traces,
       
   133 	"EAP_TRACE_enable_function_traces",
       
   134 	eap_configure_type_boolean,
       
   135 	false);
       
   136 
       
   137 /**
       
   138  *  This boolean configuration option enables EAP timer traces with true value.
       
   139  *  Default value is false.
       
   140  */
       
   141 EAP_CONFIGURATION_FIELD(
       
   142 	cf_str_EAP_TRACE_enable_timer_traces,
       
   143 	"EAP_TRACE_enable_timer_traces",
       
   144 	eap_configure_type_boolean,
       
   145 	false);
       
   146 
       
   147 /**
       
   148  *  This boolean configuration option enables EAP timer queue traces with true value.
       
   149  *  Default value is false.
       
   150  */
       
   151 EAP_CONFIGURATION_FIELD(
       
   152 	cf_str_EAP_TRACE_enable_timer_queue_traces,
       
   153 	"EAP_TRACE_enable_timer_queue_traces",
       
   154 	eap_configure_type_boolean,
       
   155 	false);
       
   156 
       
   157 
       
   158 /**
       
   159  *  This boolean configuration option enables EAP OK return traces with true value.
       
   160  *  There will be a lot of traces.
       
   161  *  Default value is false.
       
   162  */
       
   163 EAP_CONFIGURATION_FIELD(
       
   164 	cf_str_EAP_TRACE_enable_ok_return_traces,
       
   165 	"EAP_TRACE_enable_ok_return_traces",
       
   166 	eap_configure_type_boolean,
       
   167 	false);
       
   168 
       
   169 /**
       
   170  *  This boolean configuration option enables EAP message data traces with true value.
       
   171  *  Default value is false.
       
   172  */
       
   173 EAP_CONFIGURATION_FIELD(
       
   174 	cf_str_EAP_TRACE_enable_message_data_traces,
       
   175 	"EAP_TRACE_enable_message_data_traces",
       
   176 	eap_configure_type_boolean,
       
   177 	false);
       
   178 
       
   179 /**
       
   180  *  This boolean configuration option enables EAP core map traces with true value.
       
   181  *  Default value is false.
       
   182  */
       
   183 EAP_CONFIGURATION_FIELD(
       
   184 	cf_str_EAP_TRACE_enable_core_map_traces,
       
   185 	"EAP_TRACE_enable_core_map_traces",
       
   186 	eap_configure_type_boolean,
       
   187 	false);
       
   188 
       
   189 /**
       
   190  *  This boolean configuration option enables test vector traces.
       
   191  *  True value means only test vector traces of each EAP-type are traced.
       
   192  *  False value does not change traces.
       
   193  *  Default value is false.
       
   194  */
       
   195 EAP_CONFIGURATION_FIELD(
       
   196 	cf_str_EAP_TRACE_only_test_vectors,
       
   197 	"EAP_TRACE_only_test_vectors",
       
   198 	eap_configure_type_boolean,
       
   199 	false);
       
   200 
       
   201 /**
       
   202  *  This boolean configuration option enables test vector traces of SHA1.
       
   203  *  True value means SHA1 test vector traces are traced.
       
   204  *  False value does not change traces.
       
   205  *  Default value is false.
       
   206  */
       
   207 EAP_CONFIGURATION_FIELD(
       
   208 	cf_str_EAP_TRACE_crypto_test_vectors_sha1,
       
   209 	"EAP_TRACE_crypto_test_vectors_sha1",
       
   210 	eap_configure_type_boolean,
       
   211 	false);
       
   212 
       
   213 /**
       
   214  *  This boolean configuration option enables test vector traces of RC4.
       
   215  *  True value means RC4 test vector traces are traced.
       
   216  *  False value does not change traces.
       
   217  *  Default value is false.
       
   218  */
       
   219 EAP_CONFIGURATION_FIELD(
       
   220 	cf_str_EAP_TRACE_crypto_test_vectors_rc4,
       
   221 	"EAP_TRACE_crypto_test_vectors_rc4",
       
   222 	eap_configure_type_boolean,
       
   223 	false);
       
   224 
       
   225 /**
       
   226  *  This boolean configuration option enables test vector traces of MD4.
       
   227  *  True value means MD4 test vector traces are traced.
       
   228  *  False value does not change traces.
       
   229  *  Default value is false.
       
   230  */
       
   231 EAP_CONFIGURATION_FIELD(
       
   232 	cf_str_EAP_TRACE_crypto_test_vectors_md4,
       
   233 	"EAP_TRACE_crypto_test_vectors_md4",
       
   234 	eap_configure_type_boolean,
       
   235 	false);
       
   236 
       
   237 /**
       
   238  *  This boolean configuration option enables test vector traces of test random generator.
       
   239  *  True value means test random generator test vector traces are traced.
       
   240  *  Note this activates EAP_TRACE_crypto_test_vectors_sha1 traces too.
       
   241  *  False value does not change traces.
       
   242  *  Default value is false.
       
   243  */
       
   244 EAP_CONFIGURATION_FIELD(
       
   245 	cf_str_EAP_TRACE_crypto_test_vectors_test_random,
       
   246 	"EAP_TRACE_crypto_test_vectors_test_random",
       
   247 	eap_configure_type_boolean,
       
   248 	false);
       
   249 
       
   250 /**
       
   251  *  This boolean configuration option enables only message traces with true value.
       
   252  *  Default value is false.
       
   253  */
       
   254 EAP_CONFIGURATION_FIELD(
       
   255 	cf_str_EAP_TRACE_only_trace_messages,
       
   256 	"EAP_TRACE_only_trace_messages",
       
   257 	eap_configure_type_boolean,
       
   258 	false);
       
   259 
       
   260 /**
       
   261  * This boolean configuration option with true value enables only
       
   262  * always active traces and error traces.
       
   263  * set_trace_mask(eap_trace_mask_always|eap_trace_mask_error).
       
   264  * Default value is false.
       
   265  */
       
   266 EAP_CONFIGURATION_FIELD(
       
   267 	cf_str_EAP_TRACE_activate_only_trace_masks_always_and_error,
       
   268 	"EAP_TRACE_activate_only_trace_masks_always_and_error",
       
   269 	eap_configure_type_boolean,
       
   270 	false);
       
   271 
       
   272 /**
       
   273  *  This boolean configuration option with true value enables activation of traces
       
   274  *  when error occurs.
       
   275  *  Look at the set_activate_trace_on_error() and eap_status_return()
       
   276  *  functions. NOTE the always active traces are only left active.
       
   277  *  That means set_activate_trace_on_error() function calls
       
   278  *  set_trace_mask(eap_trace_mask_always).
       
   279  *  Default value is false.
       
   280  */
       
   281 EAP_CONFIGURATION_FIELD(
       
   282 	cf_str_EAP_TRACE_activate_trace_on_error,
       
   283 	"EAP_TRACE_activate_trace_on_error",
       
   284 	eap_configure_type_boolean,
       
   285 	false);
       
   286 
       
   287 
       
   288 #if defined(USE_EAP_ERROR_TESTS)
       
   289 
       
   290 /**
       
   291  *  This variable is true (1) or false (0).
       
   292  *  True value means simulator EAP AM randomly drop send packets.
       
   293  *  False value means simulator EAP AM does not drop send packets.
       
   294  *  Default value is false.
       
   295  */
       
   296 EAP_CONFIGURATION_FIELD(
       
   297 	cf_str_EAP_ERROR_TEST_randomly_drop_packets,
       
   298 	"EAP_ERROR_TEST_randomly_drop_packets",
       
   299 	eap_configure_type_boolean,
       
   300 	false);
       
   301 
       
   302 /**
       
   303  *  This u32_t configuration option selects probability of packet drop.
       
   304  *  Probability is EAP_ERROR_TEST_randomly_drop_packets_probability/(2^32).
       
   305  *  for example 8000000/(2^32) is about 0.00186.
       
   306  *  Value (2^32)=4294967295 gives probability 1, eg. every packet is dropped.
       
   307  *  Default value is 0, which means no packets are dropped.
       
   308  */
       
   309 EAP_CONFIGURATION_FIELD(
       
   310 	cf_str_EAP_ERROR_TEST_randomly_drop_packets_probability,
       
   311 	"EAP_ERROR_TEST_randomly_drop_packets_probability",
       
   312 	eap_configure_type_u32_t,
       
   313 	false);
       
   314 
       
   315 /**
       
   316  *  This variable is true (1) or false (0).
       
   317  *  True value means simulator EAP AM activates random errors to send packets.
       
   318  *  False value means simulator EAP AM disables random errors to send packets.
       
   319  *  Default value is false.
       
   320  */
       
   321 EAP_CONFIGURATION_FIELD(
       
   322 	cf_str_EAP_ERROR_TEST_enable_random_errors,
       
   323 	"EAP_ERROR_TEST_enable_random_errors",
       
   324 	eap_configure_type_boolean,
       
   325 	false);
       
   326 
       
   327 /**
       
   328  *  This boolean configuration option value true selects the original EAP-packet
       
   329  *  is sent first when EAP-packet randon error generation is enabled.
       
   330  *  Default value is false.
       
   331  */
       
   332 EAP_CONFIGURATION_FIELD(
       
   333 	cf_str_EAP_ERROR_TEST_send_original_packet_first,
       
   334 	"EAP_ERROR_TEST_send_original_packet_first",
       
   335 	eap_configure_type_boolean,
       
   336 	false);
       
   337 
       
   338 /**
       
   339  *  This u32_t configuration option selects how many additional error packet are generated.
       
   340  *  Default value is 0, which means one error packet.
       
   341  */
       
   342 EAP_CONFIGURATION_FIELD(
       
   343 	cf_str_EAP_ERROR_TEST_generate_multiple_error_packets,
       
   344 	"EAP_ERROR_TEST_generate_multiple_error_packets",
       
   345 	eap_configure_type_u32_t,
       
   346 	false);
       
   347 
       
   348 /**
       
   349  *  This boolean configuration option enables random error generation to ethernet packet with true value.
       
   350  *  True value means simulator EAP AM manipulates ethernet header with random errors.
       
   351  *  False value means simulator EAP AM does not manipulate ethernet header with random errors.
       
   352  *  Default value is false.
       
   353  */
       
   354 EAP_CONFIGURATION_FIELD(
       
   355 	cf_str_EAP_ERROR_TEST_manipulate_ethernet_header,
       
   356 	"EAP_ERROR_TEST_manipulate_ethernet_header",
       
   357 	eap_configure_type_boolean,
       
   358 	false);
       
   359 
       
   360 /**
       
   361  *  This boolean configuration option enables random error generation to EAPOL packet with true value.
       
   362  *  True value means simulator EAP AM manipulates EAPOL header with random errors.
       
   363  *  False value means simulator EAP AM does not manipulate EAPOL header with random errors.
       
   364  *  Default value is false.
       
   365  */
       
   366 EAP_CONFIGURATION_FIELD(
       
   367 	cf_str_EAP_ERROR_TEST_manipulate_eapol_header,
       
   368 	"EAP_ERROR_TEST_manipulate_eapol_header",
       
   369 	eap_configure_type_boolean,
       
   370 	false);
       
   371 
       
   372 /**
       
   373  *  This boolean configuration option enables random error generation only to EAPOL-Key packets with true value.
       
   374  *  True value means simulator EAP AM manipulates only EAPOL-Key packets with random errors.
       
   375  *  False value means simulator EAP AM does manipulate other packets too with random errors.
       
   376  *  This option works only when EAP_ERROR_TEST_enable_random_errors is true.
       
   377  *  Default value is false.
       
   378  */
       
   379 EAP_CONFIGURATION_FIELD(
       
   380 	cf_str_EAP_ERROR_TEST_manipulate_only_eapol_key_messages,
       
   381 	"EAP_ERROR_TEST_manipulate_only_eapol_key_messages",
       
   382 	eap_configure_type_boolean,
       
   383 	false);
       
   384 
       
   385 /**
       
   386  * This variable is true (1) or false (0).
       
   387  * This boolean configuration option enables random error generation only to tunneled PEAP packets with true value.
       
   388  * True value means tls_application_eap_core_c manipulates only PEAP tunneled packets with random errors.
       
   389  * False value means simulator EAP AM does manipulate other packets too with random errors.
       
   390  * This option works only when EAP_ERROR_TEST_enable_random_errors is true.
       
   391  * Default value is false.
       
   392  */
       
   393 EAP_CONFIGURATION_FIELD(
       
   394 	cf_str_EAP_ERROR_TEST_manipulate_only_tunneled_messages,
       
   395 	"EAP_ERROR_TEST_manipulate_only_tunneled_messages",
       
   396 	eap_configure_type_boolean,
       
   397 	false);
       
   398 
       
   399 /**
       
   400  *  This u32_t configuration option selects probability of errors generated.
       
   401  *  Probability is EAP_ERROR_TEST_error_probability/(2^32).
       
   402  *  for example 8000000/(2^32) is about 0.00186.
       
   403  *  Value (2^32)=4294967295 gives probability 1, eg. error is generated to every byte.
       
   404  *  Default value is 0, which means no errors.
       
   405  */
       
   406 EAP_CONFIGURATION_FIELD(
       
   407 	cf_str_EAP_ERROR_TEST_error_probability,
       
   408 	"EAP_ERROR_TEST_error_probability",
       
   409 	eap_configure_type_u32_t,
       
   410 	false);
       
   411 
       
   412 #endif //#if defined(USE_EAP_ERROR_TESTS)
       
   413 
       
   414 
       
   415 /**
       
   416  *  This string configuration option selects file and path name of trace log file.
       
   417  *  Default value is /tmp/eap_core.log.
       
   418  */
       
   419 EAP_CONFIGURATION_FIELD(
       
   420 	cf_str_EAP_TRACE_output_file_name,
       
   421 	"EAP_TRACE_output_file_name",
       
   422 	eap_configure_type_string,
       
   423 	false);
       
   424 
       
   425 /**
       
   426  *  This u32_t configuration option sets the maximum size of trace log file in bytes.
       
   427  *  Note this is not absolute value. New file is generated when size of trace log file
       
   428  *  exceeds this limitation.
       
   429  *  Default value is 100000000 bytes.
       
   430  */
       
   431 EAP_CONFIGURATION_FIELD(
       
   432 	cf_str_EAP_TRACE_max_trace_file_size,
       
   433 	"EAP_TRACE_max_trace_file_size",
       
   434 	eap_configure_type_u32_t,
       
   435 	false);
       
   436 
       
   437 /**
       
   438  *  This boolean configuration option value true activates random generator for test use.
       
   439  *  It does generate predictive pseudorandom data.
       
   440  *  Default value is false.
       
   441  */
       
   442 EAP_CONFIGURATION_FIELD(
       
   443 	cf_str_EAP_TEST_RANDOM_use_test_random_generator,
       
   444 	"EAP_TEST_RANDOM_use_test_random_generator",
       
   445 	eap_configure_type_boolean,
       
   446 	false);
       
   447 
       
   448 /**
       
   449  *  This boolean configuration option value true activates re-seeding of test random generator.
       
   450  *  It does generate unpredictive pseudorandom test data. Note this is just for testing.
       
   451  *  Default value is false.
       
   452  */
       
   453 EAP_CONFIGURATION_FIELD(
       
   454 	cf_str_EAP_TEST_RANDOM_use_test_random_reseeding,
       
   455 	"EAP_TEST_RANDOM_use_test_random_reseeding",
       
   456 	eap_configure_type_boolean,
       
   457 	false);
       
   458 
       
   459 /**
       
   460  *  This hex data configuration option value seed random generator for test use.
       
   461  */
       
   462 EAP_CONFIGURATION_FIELD(
       
   463 	cf_str_EAP_TEST_RANDOM_seed,
       
   464 	"EAP_TEST_RANDOM_seed",
       
   465 	eap_configure_type_hex_data,
       
   466 	false);
       
   467 
       
   468 EAP_CONFIGURATION_FIELD(
       
   469 	cf_str_EAPOL_TEST_preshared_key,
       
   470 	"EAPOL_TEST_preshared_key",
       
   471 	eap_configure_type_string,
       
   472 	false);
       
   473 
       
   474 EAP_CONFIGURATION_FIELD(
       
   475 	cf_str_EAPOL_TEST_override_wpa_psk,
       
   476 	"EAPOL_TEST_override_wpa_psk",
       
   477 	eap_configure_type_boolean,
       
   478 	false);
       
   479 
       
   480 EAP_CONFIGURATION_FIELD(
       
   481 	cf_str_EAPOL_TEST_test_reassociation,
       
   482 	"EAPOL_TEST_test_reassociation",
       
   483 	eap_configure_type_boolean,
       
   484 	false);
       
   485 
       
   486 EAP_CONFIGURATION_FIELD(
       
   487 	cf_str_EAPOL_TEST_test_reassociation_randomly,
       
   488 	"EAPOL_TEST_test_reassociation_randomly",
       
   489 	eap_configure_type_boolean,
       
   490 	false);
       
   491 
       
   492 EAP_CONFIGURATION_FIELD(
       
   493 	cf_str_EAPOL_TEST_MTU,
       
   494 	"EAPOL_TEST_MTU",
       
   495 	eap_configure_type_u32_t,
       
   496 	false);
       
   497 
       
   498 
       
   499 /**
       
   500  *  This hex data configuration option value client MAC address for test use.
       
   501  */
       
   502 EAP_CONFIGURATION_FIELD(
       
   503 	cf_str_EAP_client_MAC_address,
       
   504 	"EAP_client_MAC_address",
       
   505 	eap_configure_type_hex_data,
       
   506 	false);
       
   507 
       
   508 /**
       
   509  *  This hex data configuration option value client MAC address for test use.
       
   510  */
       
   511 EAP_CONFIGURATION_FIELD(
       
   512 	cf_str_EAP_server_MAC_address,
       
   513 	"EAP_server_MAC_address",
       
   514 	eap_configure_type_hex_data,
       
   515 	false);
       
   516 
       
   517 
       
   518 /**
       
   519  * This hex data or u32array configuration option value is list of EAP-types client accepts.
       
   520  * Values are hex data or u32array of EAP Expanded Type.
       
   521  * This is used in simulator testing.
       
   522  */
       
   523 EAP_CONFIGURATION_FIELD(
       
   524 	cf_str_EAP_client_types_hex_data,
       
   525 	"EAP_client_types",
       
   526 	eap_configure_type_hex_data,
       
   527 	false);
       
   528 EAP_CONFIGURATION_FIELD(
       
   529 	cf_str_EAP_client_types_u32array,
       
   530 	"EAP_client_types",
       
   531 	eap_configure_type_u32array,
       
   532 	false);
       
   533 
       
   534 /**
       
   535  * This hex data or u32array configuration option value is list of EAP-types server accepts.
       
   536  * Values in the array are type of u32_t.
       
   537  * This is used in simulator testing.
       
   538  */
       
   539 EAP_CONFIGURATION_FIELD(
       
   540 	cf_str_EAP_server_types_hex_data,
       
   541 	"EAP_server_types",
       
   542 	eap_configure_type_hex_data,
       
   543 	false);
       
   544 EAP_CONFIGURATION_FIELD(
       
   545 	cf_str_EAP_server_types_u32array,
       
   546 	"EAP_server_types",
       
   547 	eap_configure_type_u32array,
       
   548 	false);
       
   549 
       
   550 /**
       
   551  *  This u32_t configuration option selects maximum count of sent EAPOL-Start messages.
       
   552  *  Default value is EAPOL_CORE_MAX_EAPOL_START_SENDINGS.
       
   553  */
       
   554 EAP_CONFIGURATION_FIELD(
       
   555 	cf_str_EAPOL_CORE_starts_max_count,
       
   556 	"EAPOL_CORE_starts_max_count",
       
   557 	eap_configure_type_u32_t,
       
   558 	false);
       
   559 
       
   560 /**
       
   561  *  This u32_t configuration option selects timeout between sent EAPOL-Start messages.
       
   562  *  Default value is EAPOL_CORE_TIMER_SEND_START_AGAIN_TIMEOUT.
       
   563  */
       
   564 EAP_CONFIGURATION_FIELD(
       
   565 	cf_str_EAPOL_CORE_send_start_interval,
       
   566 	"EAPOL_CORE_send_start_interval",
       
   567 	eap_configure_type_u32_t,
       
   568 	false);
       
   569 
       
   570 /**
       
   571  *  This boolean configuration option enables test to skip start of 4-Way Handshake in server.
       
   572  *  This is for testing purposes.
       
   573  *  Default value is false.
       
   574  */
       
   575 EAP_CONFIGURATION_FIELD(
       
   576 	cf_str_EAPOL_CORE_skip_start_4_way_handshake,
       
   577 	"EAPOL_CORE_skip_start_4_way_handshake",
       
   578 	eap_configure_type_boolean,
       
   579 	false);
       
   580 
       
   581 /**
       
   582  *  This u32_t configuration option set the timer resolution.
       
   583  *  Default value is EAP_TIMER_RESOLUTION.
       
   584  */
       
   585 EAP_CONFIGURATION_FIELD(
       
   586 	cf_str_EAP_TIMER_resolution,
       
   587 	"EAP_TIMER_resolution",
       
   588 	eap_configure_type_u32_t,
       
   589 	false);
       
   590 
       
   591 /**
       
   592  *  This boolean configuration option enables EAP milli second timer with true value.
       
   593  *  Note the AM must support this feature.
       
   594  *  Default value is false.
       
   595  */
       
   596 EAP_CONFIGURATION_FIELD(
       
   597 	cf_str_EAP_TIMER_use_eap_millisecond_timer,
       
   598 	"EAP_TIMER_use_eap_millisecond_timer",
       
   599 	eap_configure_type_boolean,
       
   600 	false);
       
   601 
       
   602 /**
       
   603  *  This is boolean configuration option. True value activates session re-use in eap_session_core_c.
       
   604  *  It optimises stack load by re-using the existing stack.
       
   605  *  False value creates always a new stack.
       
   606  *  Default value is true.
       
   607  */
       
   608 EAP_CONFIGURATION_FIELD(
       
   609 	cf_str_EAP_SESSION_use_reset_session,
       
   610 	"EAP_SESSION_use_reset_session",
       
   611 	eap_configure_type_boolean,
       
   612 	false);
       
   613 
       
   614 /**
       
   615  * This u32_t configuration option set the timeout value after the EAP-session is removed.
       
   616  * Default value is EAP_CORE_REMOVE_SESSION_TIMEOUT.
       
   617  */
       
   618 EAP_CONFIGURATION_FIELD(
       
   619 	cf_str_EAP_CORE_remove_session_timeout,
       
   620 	"EAP_CORE_remove_session_timeout",
       
   621 	eap_configure_type_u32_t,
       
   622 	false);
       
   623 
       
   624 /**
       
   625  *  This is boolean configuration option. True value activates use of expanded EAP type field of 64-bits in length.
       
   626  *  False value forces to use the normal 8-bit EAP type field.
       
   627  *  Default value is false.
       
   628  */
       
   629 EAP_CONFIGURATION_FIELD(
       
   630 	cf_str_EAP_CORE_use_eap_expanded_type,
       
   631 	"EAP_CORE_use_eap_expanded_type",
       
   632 	eap_configure_type_boolean,
       
   633 	false);
       
   634 
       
   635 
       
   636 #if defined(USE_EAP_MEMORY_FUNCTIONS) && defined(USE_EAP_MEMORY_FUNCTIONS_FAILURES)
       
   637 
       
   638 /**
       
   639  * This u32_t configuration option sets the probability of memory failure.
       
   640  * Note you must define USE_EAP_MEMORY_FUNCTIONS and USE_EAP_MEMORY_FUNCTIONS_FAILURES
       
   641  * compiler flags in order to use this feature.
       
   642  * Probability is EAP_CORE_memory_alloc_failures_probability/(2^32).
       
   643  * for example 8000000/(2^32) is about 0.00186.
       
   644  * Value (2^32)=4294967295 gives probability 1, eg. every memory allocation fails.
       
   645  * Default value is 0, this means disabled.
       
   646  */
       
   647 EAP_CONFIGURATION_FIELD(
       
   648 	cf_str_EAP_CORE_memory_alloc_failures_probability,
       
   649 	"EAP_CORE_memory_alloc_failures_probability",
       
   650 	eap_configure_type_u32_t,
       
   651 	false);
       
   652 
       
   653 /**
       
   654  * This u32_t configuration option sets the skip count of memory allocations before failures are generated.
       
   655  * Note you must define USE_EAP_MEMORY_FUNCTIONS and USE_EAP_MEMORY_FUNCTIONS_FAILURES
       
   656  * compiler flags in order to use this feature.
       
   657  * Default value is 0.
       
   658  */
       
   659 EAP_CONFIGURATION_FIELD(
       
   660 	cf_str_EAP_CORE_memory_alloc_failures_skip_count,
       
   661 	"EAP_CORE_memory_alloc_failures_skip_count",
       
   662 	eap_configure_type_u32_t,
       
   663 	false);
       
   664 
       
   665 #endif //#if defined(USE_EAP_MEMORY_FUNCTIONS) && defined(USE_EAP_MEMORY_FUNCTIONS_FAILURES)
       
   666 
       
   667 
       
   668 /**
       
   669  *  This boolean configuration option enables asyncronous test for EAPOL messages with true value.
       
   670  *  Default value is false.
       
   671  */
       
   672 EAP_CONFIGURATION_FIELD(
       
   673 	cf_str_EAPOL_TEST_use_message_asyncronous_test,
       
   674 	"EAPOL_TEST_use_message_asyncronous_test",
       
   675 	eap_configure_type_boolean,
       
   676 	false);
       
   677 
       
   678 
       
   679 #if defined(USE_EAP_CONFIGURATION_TO_SKIP_USER_INTERACTIONS)
       
   680 	/**
       
   681 	 *  This boolean configuration option skips user interactions in selected test cases with true value.
       
   682 	 *  Default value is false, then user interactions are enabled as normally.
       
   683 	 */
       
   684 	EAP_CONFIGURATION_FIELD(
       
   685 		cf_str_EAP_skip_user_interactions_for_testing_purposes,
       
   686 		"EAP_skip_user_interactions_for_testing_purposes",
       
   687 		eap_configure_type_boolean,
       
   688 		false);
       
   689 #endif //#if defined(USE_EAP_CONFIGURATION_TO_SKIP_USER_INTERACTIONS)
       
   690 
       
   691 
       
   692 /** @} */ // End of group Common_EAP_config_options.
       
   693 
       
   694 //--------------------------------------------------------------------------------------------------
       
   695 
       
   696 /**
       
   697  *  @defgroup Common_EAP_RAS_config_options Common EAP RAS configuration options.
       
   698  *  The following configuration options are read through abs_eap_base_type_c::read_configure() function.
       
   699  *  @{
       
   700  */
       
   701 
       
   702 /**
       
   703  *  This is boolean configuration option.
       
   704  *  True value means windows RAS AM sends Windows user name in EAP-Response/Identity.
       
   705  *  False value means windows RAS AM sends <GSMSIM identity>@realm in EAP-Response/Identity.
       
   706  *  Default value is false.
       
   707  */
       
   708 EAP_CONFIGURATION_FIELD(
       
   709 	cf_str_EAP_RAS_use_windows_username,
       
   710 	"EAP_RAS_use_windows_username",
       
   711 	eap_configure_type_boolean,
       
   712 	false);
       
   713 
       
   714 /**
       
   715  *  This string configuration option is used in testing. It is the windows RAS username.
       
   716  *  This is used only when EAP_RAS_use_windows_username option is true.
       
   717  *  Default value is empty string.
       
   718  */
       
   719 EAP_CONFIGURATION_FIELD(
       
   720 	cf_str_EAP_RAS_windows_username,
       
   721 	"EAP_RAS_windows_username",
       
   722 	eap_configure_type_string,
       
   723 	false);
       
   724 
       
   725 /**
       
   726  *  This is boolean configuration option.
       
   727  *  True value means windows RAS AM prompt user when authentication starts.
       
   728  *  False value means windows RAS AM does not prompt user.
       
   729  *  Default value is false.
       
   730  */
       
   731 EAP_CONFIGURATION_FIELD(
       
   732 	cf_str_EAP_RAS_enable_prompt,
       
   733 	"EAP_RAS_enable_prompt",
       
   734 	eap_configure_type_boolean,
       
   735 	false);
       
   736 
       
   737 /**
       
   738  *  This string configuration option stores the latest IMSI used.
       
   739  *  Default value is empty string.
       
   740  */
       
   741 EAP_CONFIGURATION_FIELD(
       
   742 	cf_str_EAP_RAS_latest_imsi,
       
   743 	"EAP_RAS_latest_imsi",
       
   744 	eap_configure_type_string,
       
   745 	false);
       
   746 
       
   747 /**
       
   748  *  This string configuration option stores the latest SSID used.
       
   749  *  Default value is empty string.
       
   750  */
       
   751 EAP_CONFIGURATION_FIELD(
       
   752 	cf_str_EAP_RAS_latest_ssid,
       
   753 	"EAP_RAS_latest_ssid",
       
   754 	eap_configure_type_string,
       
   755 	false);
       
   756 
       
   757 /**
       
   758  *  This is u32_t configuration option.
       
   759  *  Value is limiter for authentication prompt.
       
   760  *  Maximum time without prompting for authentication if the SSID hasn't changed.
       
   761  *  Default value is 0, which means no limitation.
       
   762  */
       
   763 EAP_CONFIGURATION_FIELD(
       
   764 	cf_str_EAP_RAS_prompt_threshold,
       
   765 	"EAP_RAS_prompt_threshold",
       
   766 	eap_configure_type_u32_t,
       
   767 	false);
       
   768 
       
   769 /**
       
   770  *  This is u32_t configuration option.
       
   771  *  Value is time stamp of last authentication.
       
   772  */
       
   773 EAP_CONFIGURATION_FIELD(
       
   774 	cf_str_EAP_RAS_timestamp,
       
   775 	"EAP_RAS_timestamp",
       
   776 	eap_configure_type_u32_t,
       
   777 	false);
       
   778 
       
   779 /** @} */ // End of group Common_EAP_RAS_config_options.
       
   780 
       
   781 //--------------------------------------------------------------------------------------------------
       
   782 
       
   783 
       
   784 #endif //#if !defined(_EAP_CONFIG_H_)
       
   785 
       
   786 //--------------------------------------------------
       
   787 
       
   788 
       
   789 
       
   790 // End.