--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/eapol/eapol_framework/eapol_common/include/eap_config.h Thu Dec 17 08:47:43 2009 +0200
@@ -0,0 +1,790 @@
+/*
+* Copyright (c) 2001-2006 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: EAP and WLAN authentication protocols.
+*
+*/
+
+
+
+
+#if !defined(_EAP_CONFIG_H_)
+#define _EAP_CONFIG_H_
+
+#include "eap_configuration_field.h"
+
+
+enum eap_type_default_constants_e
+{
+ eap_type_default_credential_timeout = 43200000, ///< Default timeout of EAP credentials is 12 hours = 43200000 milli seconds.
+};
+
+//--------------------------------------------------------------------------------------------------
+
+/**
+ * @defgroup Common_EAP_config_options Common configuration options of EAP.
+ * The following configuration options are read through abs_eap_base_type_c::read_configure() function.
+ * @{
+ */
+
+
+
+EAP_CONFIGURATION_FIELD(
+ cf_str_EAP_access_point_name,
+ "EAP_access_point_name",
+ eap_configure_type_section,
+ false);
+
+
+/**
+ * This u32_t or hex data configuration option selects the default EAP type.
+ */
+EAP_CONFIGURATION_FIELD(
+ cf_str_EAP_default_type_hex_data,
+ "EAP_default_type",
+ eap_configure_type_hex_data,
+ false);
+EAP_CONFIGURATION_FIELD(
+ cf_str_EAP_default_type_u32_t,
+ "EAP_default_type",
+ eap_configure_type_u32_t,
+ false);
+
+/**
+ * This string configuration option sets the additional routing realms
+ * to the NAI of EAP Identity-Response of the outer EAP method. The format of
+ * the string must be "realm1!realm2!realm3" in which realm1 is the first
+ * location in the route. The NAI becomes "realm2!realm3!homerealm!username@realm1".
+ * See RFC4242 for more info. Default value is an empty string.
+ */
+EAP_CONFIGURATION_FIELD(
+ cf_str_EAP_outer_identity_routing,
+ "EAP_outer_identity_routing",
+ eap_configure_type_string,
+ false);
+
+/**
+ * This string configuration option sets the additional NAI decoration
+ * to the NAI of EAP Identity-Response of the outer EAP method. The given
+ * string (e.g. "{decoration}") is placed as such in front of the username.
+ * The NAI becomes "{decoration}username@realm". See RFC4242 for more info.
+ * Default value is an empty string.
+ */
+EAP_CONFIGURATION_FIELD(
+ cf_str_EAP_outer_identity_decoration,
+ "EAP_outer_identity_decoration",
+ eap_configure_type_string,
+ false);
+
+/**
+ * This u32_t or hex data configuration option selects the default EAP type of EAP-server.
+ * Reason for this is we could test EAP-Core in a case where
+ * EAP-client and EAP-server have different default EAP-types.
+ * If this is not defined EAP-server uses EAP_default_type option.
+ */
+EAP_CONFIGURATION_FIELD(
+ cf_str_EAP_server_default_type_hex_data,
+ "EAP_server_default_type",
+ eap_configure_type_hex_data,
+ false);
+EAP_CONFIGURATION_FIELD(
+ cf_str_EAP_server_default_type_u32_t,
+ "EAP_server_default_type",
+ eap_configure_type_u32_t,
+ false);
+
+/**
+ * This boolean configuration option enables EAP-Nak message handling immediately with true value.
+ * False value means EAP-Nak is prosessed after a timeout.
+ * Default value is true.
+ */
+EAP_CONFIGURATION_FIELD(
+ cf_str_EAP_CORE_process_EAP_Nak_immediately,
+ "EAP_CORE_process_EAP_Nak_immediately",
+ eap_configure_type_boolean,
+ false);
+
+/**
+ * This boolean configuration option disables EAP traces with true value.
+ * Default value is false.
+ */
+EAP_CONFIGURATION_FIELD(
+ cf_str_EAP_TRACE_disable_traces,
+ "EAP_TRACE_disable_traces",
+ eap_configure_type_boolean,
+ false);
+
+/**
+ * This boolean configuration option enables EAP function traces with true value.
+ * Default value is false.
+ */
+EAP_CONFIGURATION_FIELD(
+ cf_str_EAP_TRACE_enable_function_traces,
+ "EAP_TRACE_enable_function_traces",
+ eap_configure_type_boolean,
+ false);
+
+/**
+ * This boolean configuration option enables EAP timer traces with true value.
+ * Default value is false.
+ */
+EAP_CONFIGURATION_FIELD(
+ cf_str_EAP_TRACE_enable_timer_traces,
+ "EAP_TRACE_enable_timer_traces",
+ eap_configure_type_boolean,
+ false);
+
+/**
+ * This boolean configuration option enables EAP timer queue traces with true value.
+ * Default value is false.
+ */
+EAP_CONFIGURATION_FIELD(
+ cf_str_EAP_TRACE_enable_timer_queue_traces,
+ "EAP_TRACE_enable_timer_queue_traces",
+ eap_configure_type_boolean,
+ false);
+
+
+/**
+ * This boolean configuration option enables EAP OK return traces with true value.
+ * There will be a lot of traces.
+ * Default value is false.
+ */
+EAP_CONFIGURATION_FIELD(
+ cf_str_EAP_TRACE_enable_ok_return_traces,
+ "EAP_TRACE_enable_ok_return_traces",
+ eap_configure_type_boolean,
+ false);
+
+/**
+ * This boolean configuration option enables EAP message data traces with true value.
+ * Default value is false.
+ */
+EAP_CONFIGURATION_FIELD(
+ cf_str_EAP_TRACE_enable_message_data_traces,
+ "EAP_TRACE_enable_message_data_traces",
+ eap_configure_type_boolean,
+ false);
+
+/**
+ * This boolean configuration option enables EAP core map traces with true value.
+ * Default value is false.
+ */
+EAP_CONFIGURATION_FIELD(
+ cf_str_EAP_TRACE_enable_core_map_traces,
+ "EAP_TRACE_enable_core_map_traces",
+ eap_configure_type_boolean,
+ false);
+
+/**
+ * This boolean configuration option enables test vector traces.
+ * True value means only test vector traces of each EAP-type are traced.
+ * False value does not change traces.
+ * Default value is false.
+ */
+EAP_CONFIGURATION_FIELD(
+ cf_str_EAP_TRACE_only_test_vectors,
+ "EAP_TRACE_only_test_vectors",
+ eap_configure_type_boolean,
+ false);
+
+/**
+ * This boolean configuration option enables test vector traces of SHA1.
+ * True value means SHA1 test vector traces are traced.
+ * False value does not change traces.
+ * Default value is false.
+ */
+EAP_CONFIGURATION_FIELD(
+ cf_str_EAP_TRACE_crypto_test_vectors_sha1,
+ "EAP_TRACE_crypto_test_vectors_sha1",
+ eap_configure_type_boolean,
+ false);
+
+/**
+ * This boolean configuration option enables test vector traces of RC4.
+ * True value means RC4 test vector traces are traced.
+ * False value does not change traces.
+ * Default value is false.
+ */
+EAP_CONFIGURATION_FIELD(
+ cf_str_EAP_TRACE_crypto_test_vectors_rc4,
+ "EAP_TRACE_crypto_test_vectors_rc4",
+ eap_configure_type_boolean,
+ false);
+
+/**
+ * This boolean configuration option enables test vector traces of MD4.
+ * True value means MD4 test vector traces are traced.
+ * False value does not change traces.
+ * Default value is false.
+ */
+EAP_CONFIGURATION_FIELD(
+ cf_str_EAP_TRACE_crypto_test_vectors_md4,
+ "EAP_TRACE_crypto_test_vectors_md4",
+ eap_configure_type_boolean,
+ false);
+
+/**
+ * This boolean configuration option enables test vector traces of test random generator.
+ * True value means test random generator test vector traces are traced.
+ * Note this activates EAP_TRACE_crypto_test_vectors_sha1 traces too.
+ * False value does not change traces.
+ * Default value is false.
+ */
+EAP_CONFIGURATION_FIELD(
+ cf_str_EAP_TRACE_crypto_test_vectors_test_random,
+ "EAP_TRACE_crypto_test_vectors_test_random",
+ eap_configure_type_boolean,
+ false);
+
+/**
+ * This boolean configuration option enables only message traces with true value.
+ * Default value is false.
+ */
+EAP_CONFIGURATION_FIELD(
+ cf_str_EAP_TRACE_only_trace_messages,
+ "EAP_TRACE_only_trace_messages",
+ eap_configure_type_boolean,
+ false);
+
+/**
+ * This boolean configuration option with true value enables only
+ * always active traces and error traces.
+ * set_trace_mask(eap_trace_mask_always|eap_trace_mask_error).
+ * Default value is false.
+ */
+EAP_CONFIGURATION_FIELD(
+ cf_str_EAP_TRACE_activate_only_trace_masks_always_and_error,
+ "EAP_TRACE_activate_only_trace_masks_always_and_error",
+ eap_configure_type_boolean,
+ false);
+
+/**
+ * This boolean configuration option with true value enables activation of traces
+ * when error occurs.
+ * Look at the set_activate_trace_on_error() and eap_status_return()
+ * functions. NOTE the always active traces are only left active.
+ * That means set_activate_trace_on_error() function calls
+ * set_trace_mask(eap_trace_mask_always).
+ * Default value is false.
+ */
+EAP_CONFIGURATION_FIELD(
+ cf_str_EAP_TRACE_activate_trace_on_error,
+ "EAP_TRACE_activate_trace_on_error",
+ eap_configure_type_boolean,
+ false);
+
+
+#if defined(USE_EAP_ERROR_TESTS)
+
+/**
+ * This variable is true (1) or false (0).
+ * True value means simulator EAP AM randomly drop send packets.
+ * False value means simulator EAP AM does not drop send packets.
+ * Default value is false.
+ */
+EAP_CONFIGURATION_FIELD(
+ cf_str_EAP_ERROR_TEST_randomly_drop_packets,
+ "EAP_ERROR_TEST_randomly_drop_packets",
+ eap_configure_type_boolean,
+ false);
+
+/**
+ * This u32_t configuration option selects probability of packet drop.
+ * Probability is EAP_ERROR_TEST_randomly_drop_packets_probability/(2^32).
+ * for example 8000000/(2^32) is about 0.00186.
+ * Value (2^32)=4294967295 gives probability 1, eg. every packet is dropped.
+ * Default value is 0, which means no packets are dropped.
+ */
+EAP_CONFIGURATION_FIELD(
+ cf_str_EAP_ERROR_TEST_randomly_drop_packets_probability,
+ "EAP_ERROR_TEST_randomly_drop_packets_probability",
+ eap_configure_type_u32_t,
+ false);
+
+/**
+ * This variable is true (1) or false (0).
+ * True value means simulator EAP AM activates random errors to send packets.
+ * False value means simulator EAP AM disables random errors to send packets.
+ * Default value is false.
+ */
+EAP_CONFIGURATION_FIELD(
+ cf_str_EAP_ERROR_TEST_enable_random_errors,
+ "EAP_ERROR_TEST_enable_random_errors",
+ eap_configure_type_boolean,
+ false);
+
+/**
+ * This boolean configuration option value true selects the original EAP-packet
+ * is sent first when EAP-packet randon error generation is enabled.
+ * Default value is false.
+ */
+EAP_CONFIGURATION_FIELD(
+ cf_str_EAP_ERROR_TEST_send_original_packet_first,
+ "EAP_ERROR_TEST_send_original_packet_first",
+ eap_configure_type_boolean,
+ false);
+
+/**
+ * This u32_t configuration option selects how many additional error packet are generated.
+ * Default value is 0, which means one error packet.
+ */
+EAP_CONFIGURATION_FIELD(
+ cf_str_EAP_ERROR_TEST_generate_multiple_error_packets,
+ "EAP_ERROR_TEST_generate_multiple_error_packets",
+ eap_configure_type_u32_t,
+ false);
+
+/**
+ * This boolean configuration option enables random error generation to ethernet packet with true value.
+ * True value means simulator EAP AM manipulates ethernet header with random errors.
+ * False value means simulator EAP AM does not manipulate ethernet header with random errors.
+ * Default value is false.
+ */
+EAP_CONFIGURATION_FIELD(
+ cf_str_EAP_ERROR_TEST_manipulate_ethernet_header,
+ "EAP_ERROR_TEST_manipulate_ethernet_header",
+ eap_configure_type_boolean,
+ false);
+
+/**
+ * This boolean configuration option enables random error generation to EAPOL packet with true value.
+ * True value means simulator EAP AM manipulates EAPOL header with random errors.
+ * False value means simulator EAP AM does not manipulate EAPOL header with random errors.
+ * Default value is false.
+ */
+EAP_CONFIGURATION_FIELD(
+ cf_str_EAP_ERROR_TEST_manipulate_eapol_header,
+ "EAP_ERROR_TEST_manipulate_eapol_header",
+ eap_configure_type_boolean,
+ false);
+
+/**
+ * This boolean configuration option enables random error generation only to EAPOL-Key packets with true value.
+ * True value means simulator EAP AM manipulates only EAPOL-Key packets with random errors.
+ * False value means simulator EAP AM does manipulate other packets too with random errors.
+ * This option works only when EAP_ERROR_TEST_enable_random_errors is true.
+ * Default value is false.
+ */
+EAP_CONFIGURATION_FIELD(
+ cf_str_EAP_ERROR_TEST_manipulate_only_eapol_key_messages,
+ "EAP_ERROR_TEST_manipulate_only_eapol_key_messages",
+ eap_configure_type_boolean,
+ false);
+
+/**
+ * This variable is true (1) or false (0).
+ * This boolean configuration option enables random error generation only to tunneled PEAP packets with true value.
+ * True value means tls_application_eap_core_c manipulates only PEAP tunneled packets with random errors.
+ * False value means simulator EAP AM does manipulate other packets too with random errors.
+ * This option works only when EAP_ERROR_TEST_enable_random_errors is true.
+ * Default value is false.
+ */
+EAP_CONFIGURATION_FIELD(
+ cf_str_EAP_ERROR_TEST_manipulate_only_tunneled_messages,
+ "EAP_ERROR_TEST_manipulate_only_tunneled_messages",
+ eap_configure_type_boolean,
+ false);
+
+/**
+ * This u32_t configuration option selects probability of errors generated.
+ * Probability is EAP_ERROR_TEST_error_probability/(2^32).
+ * for example 8000000/(2^32) is about 0.00186.
+ * Value (2^32)=4294967295 gives probability 1, eg. error is generated to every byte.
+ * Default value is 0, which means no errors.
+ */
+EAP_CONFIGURATION_FIELD(
+ cf_str_EAP_ERROR_TEST_error_probability,
+ "EAP_ERROR_TEST_error_probability",
+ eap_configure_type_u32_t,
+ false);
+
+#endif //#if defined(USE_EAP_ERROR_TESTS)
+
+
+/**
+ * This string configuration option selects file and path name of trace log file.
+ * Default value is /tmp/eap_core.log.
+ */
+EAP_CONFIGURATION_FIELD(
+ cf_str_EAP_TRACE_output_file_name,
+ "EAP_TRACE_output_file_name",
+ eap_configure_type_string,
+ false);
+
+/**
+ * This u32_t configuration option sets the maximum size of trace log file in bytes.
+ * Note this is not absolute value. New file is generated when size of trace log file
+ * exceeds this limitation.
+ * Default value is 100000000 bytes.
+ */
+EAP_CONFIGURATION_FIELD(
+ cf_str_EAP_TRACE_max_trace_file_size,
+ "EAP_TRACE_max_trace_file_size",
+ eap_configure_type_u32_t,
+ false);
+
+/**
+ * This boolean configuration option value true activates random generator for test use.
+ * It does generate predictive pseudorandom data.
+ * Default value is false.
+ */
+EAP_CONFIGURATION_FIELD(
+ cf_str_EAP_TEST_RANDOM_use_test_random_generator,
+ "EAP_TEST_RANDOM_use_test_random_generator",
+ eap_configure_type_boolean,
+ false);
+
+/**
+ * This boolean configuration option value true activates re-seeding of test random generator.
+ * It does generate unpredictive pseudorandom test data. Note this is just for testing.
+ * Default value is false.
+ */
+EAP_CONFIGURATION_FIELD(
+ cf_str_EAP_TEST_RANDOM_use_test_random_reseeding,
+ "EAP_TEST_RANDOM_use_test_random_reseeding",
+ eap_configure_type_boolean,
+ false);
+
+/**
+ * This hex data configuration option value seed random generator for test use.
+ */
+EAP_CONFIGURATION_FIELD(
+ cf_str_EAP_TEST_RANDOM_seed,
+ "EAP_TEST_RANDOM_seed",
+ eap_configure_type_hex_data,
+ false);
+
+EAP_CONFIGURATION_FIELD(
+ cf_str_EAPOL_TEST_preshared_key,
+ "EAPOL_TEST_preshared_key",
+ eap_configure_type_string,
+ false);
+
+EAP_CONFIGURATION_FIELD(
+ cf_str_EAPOL_TEST_override_wpa_psk,
+ "EAPOL_TEST_override_wpa_psk",
+ eap_configure_type_boolean,
+ false);
+
+EAP_CONFIGURATION_FIELD(
+ cf_str_EAPOL_TEST_test_reassociation,
+ "EAPOL_TEST_test_reassociation",
+ eap_configure_type_boolean,
+ false);
+
+EAP_CONFIGURATION_FIELD(
+ cf_str_EAPOL_TEST_test_reassociation_randomly,
+ "EAPOL_TEST_test_reassociation_randomly",
+ eap_configure_type_boolean,
+ false);
+
+EAP_CONFIGURATION_FIELD(
+ cf_str_EAPOL_TEST_MTU,
+ "EAPOL_TEST_MTU",
+ eap_configure_type_u32_t,
+ false);
+
+
+/**
+ * This hex data configuration option value client MAC address for test use.
+ */
+EAP_CONFIGURATION_FIELD(
+ cf_str_EAP_client_MAC_address,
+ "EAP_client_MAC_address",
+ eap_configure_type_hex_data,
+ false);
+
+/**
+ * This hex data configuration option value client MAC address for test use.
+ */
+EAP_CONFIGURATION_FIELD(
+ cf_str_EAP_server_MAC_address,
+ "EAP_server_MAC_address",
+ eap_configure_type_hex_data,
+ false);
+
+
+/**
+ * This hex data or u32array configuration option value is list of EAP-types client accepts.
+ * Values are hex data or u32array of EAP Expanded Type.
+ * This is used in simulator testing.
+ */
+EAP_CONFIGURATION_FIELD(
+ cf_str_EAP_client_types_hex_data,
+ "EAP_client_types",
+ eap_configure_type_hex_data,
+ false);
+EAP_CONFIGURATION_FIELD(
+ cf_str_EAP_client_types_u32array,
+ "EAP_client_types",
+ eap_configure_type_u32array,
+ false);
+
+/**
+ * This hex data or u32array configuration option value is list of EAP-types server accepts.
+ * Values in the array are type of u32_t.
+ * This is used in simulator testing.
+ */
+EAP_CONFIGURATION_FIELD(
+ cf_str_EAP_server_types_hex_data,
+ "EAP_server_types",
+ eap_configure_type_hex_data,
+ false);
+EAP_CONFIGURATION_FIELD(
+ cf_str_EAP_server_types_u32array,
+ "EAP_server_types",
+ eap_configure_type_u32array,
+ false);
+
+/**
+ * This u32_t configuration option selects maximum count of sent EAPOL-Start messages.
+ * Default value is EAPOL_CORE_MAX_EAPOL_START_SENDINGS.
+ */
+EAP_CONFIGURATION_FIELD(
+ cf_str_EAPOL_CORE_starts_max_count,
+ "EAPOL_CORE_starts_max_count",
+ eap_configure_type_u32_t,
+ false);
+
+/**
+ * This u32_t configuration option selects timeout between sent EAPOL-Start messages.
+ * Default value is EAPOL_CORE_TIMER_SEND_START_AGAIN_TIMEOUT.
+ */
+EAP_CONFIGURATION_FIELD(
+ cf_str_EAPOL_CORE_send_start_interval,
+ "EAPOL_CORE_send_start_interval",
+ eap_configure_type_u32_t,
+ false);
+
+/**
+ * This boolean configuration option enables test to skip start of 4-Way Handshake in server.
+ * This is for testing purposes.
+ * Default value is false.
+ */
+EAP_CONFIGURATION_FIELD(
+ cf_str_EAPOL_CORE_skip_start_4_way_handshake,
+ "EAPOL_CORE_skip_start_4_way_handshake",
+ eap_configure_type_boolean,
+ false);
+
+/**
+ * This u32_t configuration option set the timer resolution.
+ * Default value is EAP_TIMER_RESOLUTION.
+ */
+EAP_CONFIGURATION_FIELD(
+ cf_str_EAP_TIMER_resolution,
+ "EAP_TIMER_resolution",
+ eap_configure_type_u32_t,
+ false);
+
+/**
+ * This boolean configuration option enables EAP milli second timer with true value.
+ * Note the AM must support this feature.
+ * Default value is false.
+ */
+EAP_CONFIGURATION_FIELD(
+ cf_str_EAP_TIMER_use_eap_millisecond_timer,
+ "EAP_TIMER_use_eap_millisecond_timer",
+ eap_configure_type_boolean,
+ false);
+
+/**
+ * This is boolean configuration option. True value activates session re-use in eap_session_core_c.
+ * It optimises stack load by re-using the existing stack.
+ * False value creates always a new stack.
+ * Default value is true.
+ */
+EAP_CONFIGURATION_FIELD(
+ cf_str_EAP_SESSION_use_reset_session,
+ "EAP_SESSION_use_reset_session",
+ eap_configure_type_boolean,
+ false);
+
+/**
+ * This u32_t configuration option set the timeout value after the EAP-session is removed.
+ * Default value is EAP_CORE_REMOVE_SESSION_TIMEOUT.
+ */
+EAP_CONFIGURATION_FIELD(
+ cf_str_EAP_CORE_remove_session_timeout,
+ "EAP_CORE_remove_session_timeout",
+ eap_configure_type_u32_t,
+ false);
+
+/**
+ * This is boolean configuration option. True value activates use of expanded EAP type field of 64-bits in length.
+ * False value forces to use the normal 8-bit EAP type field.
+ * Default value is false.
+ */
+EAP_CONFIGURATION_FIELD(
+ cf_str_EAP_CORE_use_eap_expanded_type,
+ "EAP_CORE_use_eap_expanded_type",
+ eap_configure_type_boolean,
+ false);
+
+
+#if defined(USE_EAP_MEMORY_FUNCTIONS) && defined(USE_EAP_MEMORY_FUNCTIONS_FAILURES)
+
+/**
+ * This u32_t configuration option sets the probability of memory failure.
+ * Note you must define USE_EAP_MEMORY_FUNCTIONS and USE_EAP_MEMORY_FUNCTIONS_FAILURES
+ * compiler flags in order to use this feature.
+ * Probability is EAP_CORE_memory_alloc_failures_probability/(2^32).
+ * for example 8000000/(2^32) is about 0.00186.
+ * Value (2^32)=4294967295 gives probability 1, eg. every memory allocation fails.
+ * Default value is 0, this means disabled.
+ */
+EAP_CONFIGURATION_FIELD(
+ cf_str_EAP_CORE_memory_alloc_failures_probability,
+ "EAP_CORE_memory_alloc_failures_probability",
+ eap_configure_type_u32_t,
+ false);
+
+/**
+ * This u32_t configuration option sets the skip count of memory allocations before failures are generated.
+ * Note you must define USE_EAP_MEMORY_FUNCTIONS and USE_EAP_MEMORY_FUNCTIONS_FAILURES
+ * compiler flags in order to use this feature.
+ * Default value is 0.
+ */
+EAP_CONFIGURATION_FIELD(
+ cf_str_EAP_CORE_memory_alloc_failures_skip_count,
+ "EAP_CORE_memory_alloc_failures_skip_count",
+ eap_configure_type_u32_t,
+ false);
+
+#endif //#if defined(USE_EAP_MEMORY_FUNCTIONS) && defined(USE_EAP_MEMORY_FUNCTIONS_FAILURES)
+
+
+/**
+ * This boolean configuration option enables asyncronous test for EAPOL messages with true value.
+ * Default value is false.
+ */
+EAP_CONFIGURATION_FIELD(
+ cf_str_EAPOL_TEST_use_message_asyncronous_test,
+ "EAPOL_TEST_use_message_asyncronous_test",
+ eap_configure_type_boolean,
+ false);
+
+
+#if defined(USE_EAP_CONFIGURATION_TO_SKIP_USER_INTERACTIONS)
+ /**
+ * This boolean configuration option skips user interactions in selected test cases with true value.
+ * Default value is false, then user interactions are enabled as normally.
+ */
+ EAP_CONFIGURATION_FIELD(
+ cf_str_EAP_skip_user_interactions_for_testing_purposes,
+ "EAP_skip_user_interactions_for_testing_purposes",
+ eap_configure_type_boolean,
+ false);
+#endif //#if defined(USE_EAP_CONFIGURATION_TO_SKIP_USER_INTERACTIONS)
+
+
+/** @} */ // End of group Common_EAP_config_options.
+
+//--------------------------------------------------------------------------------------------------
+
+/**
+ * @defgroup Common_EAP_RAS_config_options Common EAP RAS configuration options.
+ * The following configuration options are read through abs_eap_base_type_c::read_configure() function.
+ * @{
+ */
+
+/**
+ * This is boolean configuration option.
+ * True value means windows RAS AM sends Windows user name in EAP-Response/Identity.
+ * False value means windows RAS AM sends <GSMSIM identity>@realm in EAP-Response/Identity.
+ * Default value is false.
+ */
+EAP_CONFIGURATION_FIELD(
+ cf_str_EAP_RAS_use_windows_username,
+ "EAP_RAS_use_windows_username",
+ eap_configure_type_boolean,
+ false);
+
+/**
+ * This string configuration option is used in testing. It is the windows RAS username.
+ * This is used only when EAP_RAS_use_windows_username option is true.
+ * Default value is empty string.
+ */
+EAP_CONFIGURATION_FIELD(
+ cf_str_EAP_RAS_windows_username,
+ "EAP_RAS_windows_username",
+ eap_configure_type_string,
+ false);
+
+/**
+ * This is boolean configuration option.
+ * True value means windows RAS AM prompt user when authentication starts.
+ * False value means windows RAS AM does not prompt user.
+ * Default value is false.
+ */
+EAP_CONFIGURATION_FIELD(
+ cf_str_EAP_RAS_enable_prompt,
+ "EAP_RAS_enable_prompt",
+ eap_configure_type_boolean,
+ false);
+
+/**
+ * This string configuration option stores the latest IMSI used.
+ * Default value is empty string.
+ */
+EAP_CONFIGURATION_FIELD(
+ cf_str_EAP_RAS_latest_imsi,
+ "EAP_RAS_latest_imsi",
+ eap_configure_type_string,
+ false);
+
+/**
+ * This string configuration option stores the latest SSID used.
+ * Default value is empty string.
+ */
+EAP_CONFIGURATION_FIELD(
+ cf_str_EAP_RAS_latest_ssid,
+ "EAP_RAS_latest_ssid",
+ eap_configure_type_string,
+ false);
+
+/**
+ * This is u32_t configuration option.
+ * Value is limiter for authentication prompt.
+ * Maximum time without prompting for authentication if the SSID hasn't changed.
+ * Default value is 0, which means no limitation.
+ */
+EAP_CONFIGURATION_FIELD(
+ cf_str_EAP_RAS_prompt_threshold,
+ "EAP_RAS_prompt_threshold",
+ eap_configure_type_u32_t,
+ false);
+
+/**
+ * This is u32_t configuration option.
+ * Value is time stamp of last authentication.
+ */
+EAP_CONFIGURATION_FIELD(
+ cf_str_EAP_RAS_timestamp,
+ "EAP_RAS_timestamp",
+ eap_configure_type_u32_t,
+ false);
+
+/** @} */ // End of group Common_EAP_RAS_config_options.
+
+//--------------------------------------------------------------------------------------------------
+
+
+#endif //#if !defined(_EAP_CONFIG_H_)
+
+//--------------------------------------------------
+
+
+
+// End.