--- a/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_record.h Fri Sep 03 09:22:44 2010 +0300
+++ b/eapol/eapol_framework/eapol_common/type/tls_peap/tls/include/tls_record.h Thu Sep 16 13:07:04 2010 +0300
@@ -16,7 +16,7 @@
*/
/*
-* %version: %
+* %version: 73 %
*/
#if !defined(_TLS_RECORD_H_)
@@ -37,6 +37,32 @@
#include "eap_am_network_id.h"
#include "eap_automatic_variable.h"
#include "eap_master_session_key.h"
+#if defined(USE_FAST_EAP_TYPE)
+ #include "abs_pac_store_initializer.h"
+#endif //#if defined(USE_FAST_EAP_TYPE)
+#include "eap_am_export.h"
+// Start: added by script change_export_macros.sh.
+#if defined(EAP_NO_EXPORT_TLS_RECORD_H)
+ #define EAP_CLASS_VISIBILITY_TLS_RECORD_H EAP_NONSHARABLE
+ #define EAP_FUNC_VISIBILITY_TLS_RECORD_H
+ #define EAP_C_FUNC_VISIBILITY_TLS_RECORD_H
+ #define EAP_FUNC_EXPORT_TLS_RECORD_H
+ #define EAP_C_FUNC_EXPORT_TLS_RECORD_H
+#elif defined(EAP_EXPORT_TLS_RECORD_H)
+ #define EAP_CLASS_VISIBILITY_TLS_RECORD_H EAP_EXPORT
+ #define EAP_FUNC_VISIBILITY_TLS_RECORD_H EAP_FUNC_EXPORT
+ #define EAP_C_FUNC_VISIBILITY_TLS_RECORD_H EAP_C_FUNC_EXPORT
+ #define EAP_FUNC_EXPORT_TLS_RECORD_H EAP_FUNC_EXPORT
+ #define EAP_C_FUNC_EXPORT_TLS_RECORD_H EAP_C_FUNC_EXPORT
+#else
+ #define EAP_CLASS_VISIBILITY_TLS_RECORD_H EAP_IMPORT
+ #define EAP_FUNC_VISIBILITY_TLS_RECORD_H EAP_FUNC_IMPORT
+ #define EAP_C_FUNC_VISIBILITY_TLS_RECORD_H EAP_C_FUNC_IMPORT
+ #define EAP_FUNC_EXPORT_TLS_RECORD_H
+ #define EAP_C_FUNC_EXPORT_TLS_RECORD_H
+#endif
+// End: added by script change_export_macros.sh.
+
class abs_tls_base_record_c;
@@ -52,9 +78,9 @@
class abs_crypto_stream_algorithm_c;
#if defined(USE_FAST_EAP_TYPE)
-#if !defined(USE_EAP_TLS_SESSION_TICKET)
-#error ERROR: With USE_FAST_EAP_TYPE you must use USE_EAP_TLS_SESSION_TICKET flag too.
-#endif //#if !defined(USE_EAP_TLS_SESSION_TICKET)
+ #if !defined(USE_EAP_TLS_SESSION_TICKET)
+ #error ERROR: With USE_FAST_EAP_TYPE you must use USE_EAP_TLS_SESSION_TICKET flag too.
+ #endif //#if !defined(USE_EAP_TLS_SESSION_TICKET)
#endif //#if defined(USE_FAST_EAP_TYPE)
//--------------------------------------------------------------------
@@ -64,13 +90,16 @@
* See more detailed design and architecture document <a href="../../type/tls_peap/documentation/EAP_TLS_PEAP.doc">EAP_TLS_PEAP.doc</a>
* and <a href="../../type/tls_peap/documentation/rfc2246.txt">RFC 2246</a>.
*/
-class EAP_EXPORT tls_record_c
+class EAP_CLASS_VISIBILITY_TLS_RECORD_H tls_record_c
: public tls_base_record_c
, public abs_tls_am_services_c
, public abs_tls_message_hash_c
, public abs_tls_change_cipher_spec_c
, public abs_tls_apply_cipher_spec_c
, public abs_tls_base_application_c
+#if defined(USE_FAST_EAP_TYPE)
+, public abs_pac_store_initializer_c
+#endif //#if defined(USE_FAST_EAP_TYPE)
{
private:
//--------------------------------------------------
@@ -538,14 +567,14 @@
* The set_is_valid() function sets the state of the object valid.
* The creator of this object calls this function after it is initialized.
*/
- EAP_FUNC_IMPORT void set_is_valid();
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H void set_is_valid();
- EAP_FUNC_IMPORT eap_status_e allocate_handshake_message(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e allocate_handshake_message(
tls_handshake_message_c ** const tls_handshake_message,
eap_automatic_variable_c<tls_handshake_message_c> * const automatic_tls_handshake_message,
const tls_handshake_type_e handshake_type);
- EAP_FUNC_IMPORT eap_status_e allocate_handshake_message_copy(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e allocate_handshake_message_copy(
tls_handshake_message_c ** const tls_handshake_message,
eap_automatic_variable_c<tls_handshake_message_c> * const automatic_tls_handshake_message,
tls_handshake_header_c * const tls_handshake_header);
@@ -553,97 +582,97 @@
/**
* This function creates TLS Handshake/HelloRequest message.
*/
- EAP_FUNC_IMPORT eap_status_e create_handshake_type_hello_request();
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e create_handshake_type_hello_request();
/**
* This function creates TLS Handshake/ClientHello message.
*/
- EAP_FUNC_IMPORT eap_status_e create_handshake_type_client_hello();
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e create_handshake_type_client_hello();
/**
* This function creates TLS Handshake/ServerHello message.
*/
- EAP_FUNC_IMPORT eap_status_e create_handshake_type_server_hello(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e create_handshake_type_server_hello(
const u16_t selected_cipher_suite,
const u8_t selected_compression_method);
/**
* This function creates TLS Handshake/Certificate message.
*/
- EAP_FUNC_IMPORT eap_status_e create_handshake_type_certificate(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e create_handshake_type_certificate(
EAP_TEMPLATE_CONST eap_array_c<eap_variable_data_c> * const certificate_chain);
/**
* This function creates TLS Handshake/CertificateRequest message.
*/
- EAP_FUNC_IMPORT eap_status_e create_handshake_type_certificate_request(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e create_handshake_type_certificate_request(
EAP_TEMPLATE_CONST eap_array_c<u8_t> * const certificate_types,
EAP_TEMPLATE_CONST eap_array_c<eap_variable_data_c> * const certificate_authorities);
/**
* This function creates TLS Handshake/ServerHelloDone message.
*/
- EAP_FUNC_IMPORT eap_status_e create_handshake_type_server_hello_done();
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e create_handshake_type_server_hello_done();
/**
* This function completes creation of TLS Handshake/ServerKeyExchange message.
*/
- EAP_FUNC_IMPORT eap_status_e complete_create_handshake_type_server_key_exchange();
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e complete_create_handshake_type_server_key_exchange();
/**
* This function creates TLS Handshake/ServerKeyExchange message.
* NOTE: this function is asyncronous. complete_create_handshake_type_server_key_exchange()
* completes this operation.
*/
- EAP_FUNC_IMPORT eap_status_e create_handshake_type_server_key_exchange();
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e create_handshake_type_server_key_exchange();
/**
* This function completes creation of TLS Handshake/ClientKeyExchange message.
*/
- EAP_FUNC_IMPORT eap_status_e complete_create_handshake_type_client_key_exchange();
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e complete_create_handshake_type_client_key_exchange();
/**
* This function creates TLS Handshake/ClientKeyExchange message.
* NOTE: this function is asyncronous. complete_create_handshake_type_client_key_exchange()
* completes this operation.
*/
- EAP_FUNC_IMPORT eap_status_e create_handshake_type_client_key_exchange();
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e create_handshake_type_client_key_exchange();
/**
* This function completes creation of TLS Handshake/CertificateVerify message.
*/
- EAP_FUNC_IMPORT eap_status_e complete_create_handshake_type_certificate_verify();
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e complete_create_handshake_type_certificate_verify();
/**
* This function creates TLS Handshake/CertificateVerify message.
* NOTE: this function is asyncronous.
*/
- EAP_FUNC_IMPORT eap_status_e create_handshake_type_certificate_verify();
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e create_handshake_type_certificate_verify();
/**
* This function creates TLS Handshake/Finished message.
*/
- EAP_FUNC_IMPORT eap_status_e create_handshake_type_finished();
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e create_handshake_type_finished();
/**
* This function creates TLS Handshake/NewSessionTicket message.
*/
- EAP_FUNC_IMPORT eap_status_e create_handshake_type_new_session_ticket();
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e create_handshake_type_new_session_ticket();
/**
* This function creates TLS ChangeCipherSpec/ChangeCipherSpec message.
*/
- EAP_FUNC_IMPORT eap_status_e create_change_cipher_spec_type_change_cipher_spec();
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e create_change_cipher_spec_type_change_cipher_spec();
/**
* This function finish TLS handshake.
*/
- EAP_FUNC_IMPORT eap_status_e finish_handshake();
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e finish_handshake();
/**
* This function creates TLS Alert/Alert message.
*/
- EAP_FUNC_IMPORT eap_status_e create_tls_protocol_alert(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e create_tls_protocol_alert(
const tls_alert_description_e alert_description,
const tls_alert_level_e alert_level,
const eap_status_e result);
@@ -651,14 +680,14 @@
/**
* This function creates TLS ApplicationData message.
*/
- EAP_FUNC_IMPORT eap_status_e create_tls_application_data(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e create_tls_application_data(
eap_buf_chain_wr_c * const sent_packet,
const u32_t header_offset);
/**
* This function starts tunneled authentication.
*/
- EAP_FUNC_IMPORT eap_status_e start_peap_tunneled_authentication(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e start_peap_tunneled_authentication(
const eap_am_network_id_c * const receive_network_id,
const u8_t received_eap_identifier,
const tls_session_type_e tls_session_type);
@@ -666,7 +695,7 @@
/**
* This function parses TLS extension list, see RFC 4366.
*/
- EAP_FUNC_IMPORT eap_status_e parse_tls_extension_list(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e parse_tls_extension_list(
const u32_t handshake_data_length,
u32_t * const data_offset,
const tls_handshake_header_c * const tls_handshake_header,
@@ -675,7 +704,7 @@
/**
* This function parses TLS Handshake/HelloRequest message.
*/
- EAP_FUNC_IMPORT eap_status_e parse_handshake_type_hello_request(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e parse_handshake_type_hello_request(
tls_record_message_c * const received_tls_record_message,
tls_handshake_header_c * const tls_handshake_header,
const u32_t handshake_data_length);
@@ -684,7 +713,7 @@
/**
* This function parses TLS Handshake/ClientHello message.
*/
- EAP_FUNC_IMPORT eap_status_e parse_handshake_type_client_hello(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e parse_handshake_type_client_hello(
tls_record_message_c * const received_tls_record_message,
tls_handshake_header_c * const tls_handshake_header,
const u32_t handshake_data_length);
@@ -692,7 +721,7 @@
/**
* This function parses TLS Handshake/ServerHello message.
*/
- EAP_FUNC_IMPORT eap_status_e parse_handshake_type_server_hello(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e parse_handshake_type_server_hello(
tls_record_message_c * const received_tls_record_message,
tls_handshake_header_c * const tls_handshake_header,
const u32_t handshake_data_length);
@@ -700,7 +729,7 @@
/**
* This function parses TLS Handshake/Certificate message.
*/
- EAP_FUNC_IMPORT eap_status_e parse_handshake_type_certificate(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e parse_handshake_type_certificate(
tls_record_message_c * const received_tls_record_message,
tls_handshake_header_c * const tls_handshake_header,
const u32_t handshake_data_length);
@@ -708,7 +737,7 @@
/**
* This function parses TLS Handshake/CertificateRequest message.
*/
- EAP_FUNC_IMPORT eap_status_e parse_handshake_type_certificate_request(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e parse_handshake_type_certificate_request(
tls_record_message_c * const received_tls_record_message,
tls_handshake_header_c * const tls_handshake_header,
const u32_t handshake_data_length);
@@ -716,7 +745,7 @@
/**
* This function parses TLS Handshake/ServerHelloDone message.
*/
- EAP_FUNC_IMPORT eap_status_e parse_handshake_type_server_hello_done(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e parse_handshake_type_server_hello_done(
tls_record_message_c * const received_tls_record_message,
tls_handshake_header_c * const tls_handshake_header,
const u32_t handshake_data_length);
@@ -724,7 +753,7 @@
/**
* This function parses TLS Handshake/ServerKeyExchange message.
*/
- EAP_FUNC_IMPORT eap_status_e parse_handshake_type_server_key_exchange(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e parse_handshake_type_server_key_exchange(
tls_record_message_c * const received_tls_record_message,
tls_handshake_header_c * const tls_handshake_header,
const u32_t handshake_data_length);
@@ -732,7 +761,7 @@
/**
* This function parses TLS Handshake/ClientKeyExchange message.
*/
- EAP_FUNC_IMPORT eap_status_e parse_handshake_type_client_key_exchange(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e parse_handshake_type_client_key_exchange(
tls_record_message_c * const received_tls_record_message,
tls_handshake_header_c * const tls_handshake_header,
const u32_t handshake_data_length);
@@ -740,7 +769,7 @@
/**
* This function parses TLS Handshake/CertificateVerify message.
*/
- EAP_FUNC_IMPORT eap_status_e parse_handshake_type_certificate_verify(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e parse_handshake_type_certificate_verify(
tls_record_message_c * const received_tls_record_message,
tls_handshake_header_c * const tls_handshake_header,
const u32_t handshake_data_length);
@@ -748,7 +777,7 @@
/**
* This function parses TLS Handshake/Finished message.
*/
- EAP_FUNC_IMPORT eap_status_e parse_handshake_type_finished(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e parse_handshake_type_finished(
tls_record_message_c * const received_tls_record_message,
tls_handshake_header_c * const tls_handshake_header,
const u32_t handshake_data_length);
@@ -759,7 +788,7 @@
/**
* This function parses TLS Handshake/NewSessionTicket message.
*/
- EAP_FUNC_IMPORT eap_status_e parse_handshake_type_new_session_ticket(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e parse_handshake_type_new_session_ticket(
tls_record_message_c * const received_tls_record_message,
tls_handshake_header_c * const tls_handshake_header,
const u32_t handshake_data_length);
@@ -770,110 +799,110 @@
/**
* This function parses TLS ChangeCipherSpec protocol.
*/
- EAP_FUNC_IMPORT eap_status_e parse_tls_protocol_change_cipher_spec(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e parse_tls_protocol_change_cipher_spec(
tls_record_message_c * const tls_record_message,
eap_variable_data_c * const tls_protocols_messages_buffer);
/**
* This function parses TLS Alert protocol.
*/
- EAP_FUNC_IMPORT eap_status_e parse_tls_protocol_alert(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e parse_tls_protocol_alert(
tls_record_message_c * const tls_record_message,
eap_variable_data_c * const tls_protocols_messages_buffer);
/**
* This function parses TLS Handshake protocol.
*/
- EAP_FUNC_IMPORT eap_status_e parse_tls_protocol_handshake(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e parse_tls_protocol_handshake(
tls_record_message_c * const tls_record_message,
eap_variable_data_c * const tls_protocols_messages_buffer);
/**
* This function parses TLS ApplicationData protocol.
*/
- EAP_FUNC_IMPORT eap_status_e parse_tls_protocol_application_data(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e parse_tls_protocol_application_data(
tls_record_message_c * const tls_record_message,
eap_variable_data_c * const tls_protocols_messages_buffer);
/**
* This function reassembles data of received consecutive TLS-records with same protocol to tls_record_message.
*/
- EAP_FUNC_IMPORT eap_status_e reassemble_tls_records(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e reassemble_tls_records(
tls_record_message_c * const tls_record_message,
tls_record_header_c * const next_tls_record_header);
/**
* This function processes received TLS records.
*/
- EAP_FUNC_IMPORT eap_status_e process_tls_records();
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e process_tls_records();
/**
* This function processes received TLS message.
*/
- EAP_FUNC_IMPORT eap_status_e process_tls_message();
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e process_tls_message();
- EAP_FUNC_IMPORT tls_record_protocol_e get_next_tls_record_message_protocol();
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H tls_record_protocol_e get_next_tls_record_message_protocol();
- EAP_FUNC_IMPORT tls_handshake_type_e get_next_tls_handshake_message_type();
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H tls_handshake_type_e get_next_tls_handshake_message_type();
/**
* This function analyses TLS Handshake/HelloRequest message.
*/
- EAP_FUNC_IMPORT eap_status_e analyse_handshake_type_hello_request(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e analyse_handshake_type_hello_request(
EAP_TEMPLATE_CONST tls_handshake_message_c * const handshake_message);
/**
* This function analyses TLS Handshake/ClientHello message.
*/
- EAP_FUNC_IMPORT eap_status_e analyse_handshake_type_client_hello(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e analyse_handshake_type_client_hello(
EAP_TEMPLATE_CONST tls_handshake_message_c * const handshake_message);
/**
* This function analyses TLS Handshake/ServerHello message.
*/
- EAP_FUNC_IMPORT eap_status_e analyse_handshake_type_server_hello(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e analyse_handshake_type_server_hello(
EAP_TEMPLATE_CONST tls_handshake_message_c * const handshake_message);
/**
* This function analyses TLS Handshake/Certificate message.
*/
- EAP_FUNC_IMPORT eap_status_e analyse_handshake_type_certificate(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e analyse_handshake_type_certificate(
EAP_TEMPLATE_CONST tls_handshake_message_c * const handshake_message);
/**
* This function analyses TLS Handshake/CertificateRequest message.
*/
- EAP_FUNC_IMPORT eap_status_e analyse_handshake_type_certificate_request(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e analyse_handshake_type_certificate_request(
EAP_TEMPLATE_CONST tls_handshake_message_c * const handshake_message);
/**
* This function analyses TLS Handshake/ServerHelloDone message.
*/
- EAP_FUNC_IMPORT eap_status_e analyse_handshake_type_server_hello_done(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e analyse_handshake_type_server_hello_done(
EAP_TEMPLATE_CONST tls_handshake_message_c * const handshake_message);
/**
* This function analyses TLS Handshake/ServerKeyExchange message.
*/
- EAP_FUNC_IMPORT eap_status_e analyse_handshake_type_server_key_exchange(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e analyse_handshake_type_server_key_exchange(
EAP_TEMPLATE_CONST tls_handshake_message_c * const handshake_message);
/**
* This function analyses TLS Handshake/ClientKeyExchange message.
*/
- EAP_FUNC_IMPORT eap_status_e analyse_handshake_type_client_key_exchange(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e analyse_handshake_type_client_key_exchange(
EAP_TEMPLATE_CONST tls_handshake_message_c * const handshake_message);
/**
* This function analyses TLS Handshake/CertificateVerify message.
*/
- EAP_FUNC_IMPORT eap_status_e analyse_handshake_type_certificate_verify(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e analyse_handshake_type_certificate_verify(
EAP_TEMPLATE_CONST tls_handshake_message_c * const handshake_message);
/**
* This function analyses TLS Handshake/Finished message.
*/
- EAP_FUNC_IMPORT eap_status_e analyse_handshake_type_finished(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e analyse_handshake_type_finished(
EAP_TEMPLATE_CONST tls_handshake_message_c * const handshake_message,
const u8_t received_eap_identifier);
@@ -882,7 +911,7 @@
/**
* This function analyses TLS Handshake/NewSessionTicket message.
*/
- EAP_FUNC_IMPORT eap_status_e analyse_handshake_type_new_session_ticket(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e analyse_handshake_type_new_session_ticket(
EAP_TEMPLATE_CONST tls_handshake_message_c * const handshake_message,
const u8_t received_eap_identifier);
@@ -891,93 +920,93 @@
/**
* This function analyses TLS ChangeCipherSpec protocol.
*/
- EAP_FUNC_IMPORT eap_status_e analyse_tls_protocol_change_cipher_spec(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e analyse_tls_protocol_change_cipher_spec(
const tls_record_message_c * const record);
/**
* This function analyses TLS Alert protocol.
*/
- EAP_FUNC_IMPORT eap_status_e analyse_tls_protocol_alert(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e analyse_tls_protocol_alert(
const tls_record_message_c * const record);
/**
* This function analyses TLS Handshake protocol.
*/
- EAP_FUNC_IMPORT eap_status_e analyse_tls_protocol_handshake(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e analyse_tls_protocol_handshake(
tls_record_message_c * const record,
const u8_t received_eap_identifier);
/**
* This function analyses TLS ApplicationData protocol.
*/
- EAP_FUNC_IMPORT eap_status_e analyse_tls_protocol_application_data(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e analyse_tls_protocol_application_data(
const tls_record_message_c * const record,
const u8_t received_eap_identifier);
/**
* This function checks whether all pending queries are completed.
*/
- EAP_FUNC_IMPORT eap_status_e are_pending_queries_completed();
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e are_pending_queries_completed();
/**
* This function indicates state to lower layer.
*/
- EAP_FUNC_IMPORT eap_status_e indicate_state_to_lower_layer(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e indicate_state_to_lower_layer(
const tls_peap_state_e indicated_state);
/**
* This function indicates all message processed to lower layer.
*/
- EAP_FUNC_IMPORT eap_status_e indicate_messages_processed();
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e indicate_messages_processed();
/**
* This function combines TLS-protocols data to a buffer and sends TLS-message.
*/
- EAP_FUNC_IMPORT eap_status_e send_tls_message();
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e send_tls_message();
/**
* This function checks all queries are completed.
* If all queries are completed this function send the pending LS-messages.
*/
- EAP_FUNC_IMPORT eap_status_e check_sent_tls_message();
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e check_sent_tls_message();
/**
* This function check the selected cipher suite is one of the proposed cipher suites.
*/
- EAP_FUNC_IMPORT eap_status_e check_selected_cipher_suite(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e check_selected_cipher_suite(
const tls_cipher_suites_e selected_cipher_suite);
/**
* This function check the selected compression method is one of the proposed compression method.
*/
- EAP_FUNC_IMPORT eap_status_e check_selected_compression_method(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e check_selected_compression_method(
const tls_compression_method_e selected_compression_method);
/**
* This function changes one 16-bit value pointed by parameter value from network order to host order.
*/
- EAP_FUNC_IMPORT static eap_status_e u16_t_to_host_order(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H static eap_status_e u16_t_to_host_order(
u16_t * const value,
abs_eap_am_tools_c * const m_am_tools);
/**
* This function changes one 16-bit value pointed by parameter value from host order to network order.
*/
- EAP_FUNC_IMPORT static eap_status_e u16_t_to_network_order(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H static eap_status_e u16_t_to_network_order(
u16_t * const value,
abs_eap_am_tools_c * const m_am_tools);
/**
* This function initializes MD5 and SHA hashes.
*/
- EAP_FUNC_IMPORT eap_status_e message_hash_init();
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e message_hash_init();
/**
* This function adds the send and received TLS-handshake message to MD5 and SHA hashes.
* @param eap includes the buffer of the whole reassembled TLS-packet.
* @param packet_length is length in bytes of the TLS-packet.
*/
- EAP_FUNC_IMPORT eap_status_e message_hash_update(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e message_hash_update(
const bool true_when_parse_message,
const tls_handshake_type_e type,
u8_t * const tls_packet,
@@ -989,13 +1018,13 @@
* @param message_hash includes the buffer of the message digest. The message_hash_create() function initializes the buffer.
* @param client_originated is boolean flag. When client calls this function value is true, when server calls this function value is false.
*/
- EAP_FUNC_IMPORT eap_status_e message_hash_create(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e message_hash_create(
const bool true_when_parse_message,
const tls_handshake_type_e type,
eap_variable_data_c * const message_hash,
const bool client_originated);
- EAP_FUNC_IMPORT eap_status_e message_hash_final(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e message_hash_final(
eap_variable_data_c * const md5_digest,
eap_variable_data_c * const sha1_digest);
@@ -1003,26 +1032,26 @@
* This function saves MD5 and SHA hashes for certificate verify message to
* member attributes m_message_hash_md5_certificate_verify and m_message_hash_sha1_certificate_verify.
*/
- EAP_FUNC_IMPORT eap_status_e message_hash_save_certificate_verify();
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e message_hash_save_certificate_verify();
/**
* This function saves MD5 and SHA hashes for finished message to
* member attributes message_hash_md5_finished and message_hash_sha1_finished.
*/
- EAP_FUNC_IMPORT eap_status_e message_hash_save_finished(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e message_hash_save_finished(
const bool client_originated);
/**
* This function creates certificate verfy message hash.
*/
- EAP_FUNC_IMPORT eap_status_e message_hash_create_certificate_verify(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e message_hash_create_certificate_verify(
const bool client_originated);
/**
* This function creates finished message hash.
* @param signed_message_hash is pointer to buffer of the message hash.
*/
- EAP_FUNC_IMPORT eap_status_e message_hash_create_finished(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e message_hash_create_finished(
const bool client_originated_message,
eap_variable_data_c * const signed_message_hash);
@@ -1030,7 +1059,7 @@
/**
* This function creates SHA1 HASH of server key exchange message when DHE cipher suite is used.
*/
- EAP_FUNC_IMPORT eap_status_e create_server_key_exchange_sha1_hash(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e create_server_key_exchange_sha1_hash(
const eap_variable_data_c * const dhe_prime,
const eap_variable_data_c * const dhe_group_generator,
const eap_variable_data_c * const public_dhe_key,
@@ -1039,7 +1068,7 @@
/**
* This function creates MD5 HASH of server key exchange message when DHE cipher suite is used.
*/
- EAP_FUNC_IMPORT eap_status_e create_server_key_exchange_md5_hash(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e create_server_key_exchange_md5_hash(
const eap_variable_data_c * const dhe_prime,
const eap_variable_data_c * const dhe_group_generator,
const eap_variable_data_c * const public_dhe_key,
@@ -1048,7 +1077,7 @@
/**
* This function verifies the HASH of server key exchange message is valid.
*/
- EAP_FUNC_IMPORT eap_status_e verify_signature_of_server_key_exchange(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e verify_signature_of_server_key_exchange(
const eap_variable_data_c * const signed_server_key_exchange_hash);
@@ -1056,51 +1085,51 @@
/**
* This function verifies the cipher suite is one of using 3DES_EDE_CBC_SHA.
*/
- EAP_FUNC_IMPORT bool cipher_suite_is_3DES_EDE_CBC_SHA(tls_cipher_suites_e cipher_suite) const;
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H bool cipher_suite_is_3DES_EDE_CBC_SHA(tls_cipher_suites_e cipher_suite) const;
/**
* This function verifies the cipher suite is one of using AES_128_CBC_SHA.
*/
- EAP_FUNC_IMPORT bool cipher_suite_is_AES_128_CBC_SHA(tls_cipher_suites_e cipher_suite) const;
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H bool cipher_suite_is_AES_128_CBC_SHA(tls_cipher_suites_e cipher_suite) const;
/**
* This function verifies the cipher suite is one of using RC4_128_MD5.
*/
- EAP_FUNC_IMPORT bool cipher_suite_is_RC4_128_MD5(tls_cipher_suites_e cipher_suite) const;
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H bool cipher_suite_is_RC4_128_MD5(tls_cipher_suites_e cipher_suite) const;
/**
* This function verifies the cipher suite is one of using RC4_128_SHA.
*/
- EAP_FUNC_IMPORT bool cipher_suite_is_RC4_128_SHA(tls_cipher_suites_e cipher_suite) const;
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H bool cipher_suite_is_RC4_128_SHA(tls_cipher_suites_e cipher_suite) const;
/**
* This function verifies the current cipher suite is one of using TLS_RSA.
*/
- EAP_FUNC_IMPORT bool cipher_suite_is_TLS_RSA() const;
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H bool cipher_suite_is_TLS_RSA() const;
/**
* This function verifies the current cipher suite is one of using TLS_DHE_RSA.
*/
- EAP_FUNC_IMPORT bool cipher_suite_is_TLS_DHE_RSA() const;
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H bool cipher_suite_is_TLS_DHE_RSA() const;
/**
* This function verifies the current cipher suite is one of using TLS_DHE_DSS.
*/
- EAP_FUNC_IMPORT bool cipher_suite_is_TLS_DHE_DSS() const;
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H bool cipher_suite_is_TLS_DHE_DSS() const;
#if defined(USE_FAST_EAP_TYPE)
/**
* This function verifies the current cipher suite is one of using TLS_DH_anon.
*/
- EAP_FUNC_IMPORT bool cipher_suite_is_TLS_DH_anon() const;
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H bool cipher_suite_is_TLS_DH_anon() const;
#endif //#if defined(USE_FAST_EAP_TYPE)
#if EAP_TLS_NOT_SUPPORTED_CIPHER_SUITE
This is not implemented yet
- EAP_FUNC_IMPORT bool cipher_suite_is_TLS_DH_DSS() const;
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H bool cipher_suite_is_TLS_DH_DSS() const;
#endif
@@ -1109,46 +1138,46 @@
* This function generates ephemeral Diffie-Hellman keys.
* Keys are stored to m_own_private_dhe_key and m_own_public_dhe_key.
*/
- EAP_FUNC_IMPORT eap_status_e generate_dhe_keys();
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e generate_dhe_keys();
/**
* This function generates master secret.
*/
- EAP_FUNC_IMPORT eap_status_e generate_master_secret();
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e generate_master_secret();
/**
* This function generates premaster secret.
*/
- EAP_FUNC_IMPORT eap_status_e generate_premaster_secret();
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e generate_premaster_secret();
#if defined(USE_FAST_EAP_TYPE)
/**
* This function generates master secret from EAP-FAST PAC-Key.
*/
- EAP_FUNC_IMPORT eap_status_e generate_eap_fast_master_secret_from_pac_key(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e generate_eap_fast_master_secret_from_pac_key(
const eap_variable_data_c * const pac_key);
#endif //#if defined(USE_FAST_EAP_TYPE)
- EAP_FUNC_IMPORT void send_error_notification(const eap_status_e error);
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H void send_error_notification(const eap_status_e error);
/**
* This function adds new completion action to the end of the m_completion_queue.
*/
- EAP_FUNC_IMPORT eap_status_e completion_action_add(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e completion_action_add(
tls_completion_action_e action);
/**
* This function verifies all completion actions are completed.
*/
- EAP_FUNC_IMPORT eap_status_e completion_action_clenup();
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e completion_action_clenup();
/**
* This function checks and completes completion actions.
* This function could return eap_status_pending_request if the
* first completion action cannot be completed yet.
*/
- EAP_FUNC_IMPORT eap_status_e completion_action_check();
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e completion_action_check();
@@ -1156,12 +1185,12 @@
/**
* This function generates random padding length. See chapter "6.2.3.2. CBC block cipher" in <a href="../../type/tls_peap/documentation/rfc2246.txt">RFC 2246</a>.
*/
- EAP_FUNC_IMPORT u8_t get_extra_padding_length(const u8_t padding_length, const u32_t block_size);
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H u8_t get_extra_padding_length(const u8_t padding_length, const u32_t block_size);
/**
* This function applies the current block cipher suite to send TLS-record.
*/
- EAP_FUNC_IMPORT eap_status_e apply_send_block_cipher_suite(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e apply_send_block_cipher_suite(
eap_variable_data_c * const tls_record_message_buffer,
abs_crypto_cbc_block_algorithm_c * const encrypt,
abs_crypto_hmac_algorithm_c * const mac);
@@ -1169,7 +1198,7 @@
/**
* This function applies the current block cipher suite to received TLS-record.
*/
- EAP_FUNC_IMPORT eap_status_e apply_receive_block_cipher_suite(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e apply_receive_block_cipher_suite(
eap_variable_data_c * const tls_record_message_buffer,
abs_crypto_cbc_block_algorithm_c * const decrypt,
abs_crypto_hmac_algorithm_c * const mac);
@@ -1177,7 +1206,7 @@
/**
* This function applies the current stream cipher suite to send TLS-record.
*/
- EAP_FUNC_IMPORT eap_status_e apply_send_stream_cipher_suite(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e apply_send_stream_cipher_suite(
eap_variable_data_c * const tls_record_message_buffer,
abs_crypto_stream_algorithm_c * const encrypt,
abs_crypto_hmac_algorithm_c * const mac);
@@ -1185,7 +1214,7 @@
/**
* This function applies the current stream cipher suite to received TLS-record.
*/
- EAP_FUNC_IMPORT eap_status_e apply_receive_stream_cipher_suite(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e apply_receive_stream_cipher_suite(
eap_variable_data_c * const tls_record_message_buffer,
abs_crypto_stream_algorithm_c * const decrypt,
abs_crypto_hmac_algorithm_c * const mac);
@@ -1193,42 +1222,42 @@
/**
* This function applies the current cipher suite to send TLS-record.
*/
- EAP_FUNC_IMPORT eap_status_e apply_send_cipher_suite(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e apply_send_cipher_suite(
eap_variable_data_c * const tls_record_message_buffer);
/**
* This function applies the current cipher suite to received TLS-record.
*/
- EAP_FUNC_IMPORT eap_status_e apply_receive_cipher_suite(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e apply_receive_cipher_suite(
eap_variable_data_c * const tls_record_message_buffer);
/** This function hides create_tls_protocol_alert() call.
*/
- EAP_FUNC_IMPORT eap_status_e eap_status_return_and_create_tls_protocol_alert(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e eap_status_return_and_create_tls_protocol_alert(
const eap_status_e status);
/**
* This function sets the state of TLS.
*/
- EAP_FUNC_IMPORT tls_peap_state_e get_state() const;
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H tls_peap_state_e get_state() const;
/**
* This function gets the state of TLS.
*/
- EAP_FUNC_IMPORT void set_state(const tls_peap_state_e state);
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H void set_state(const tls_peap_state_e state);
/**
* This function verified the current state of TLS and parameter state are equal.
*/
- EAP_FUNC_IMPORT bool verify_state(const tls_peap_state_e state);
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H bool verify_state(const tls_peap_state_e state);
/**
* This function initializes encryption and decryption objects for block cipher suite.
*/
- EAP_FUNC_IMPORT eap_status_e cipher_suite_initialization_cbc(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e cipher_suite_initialization_cbc(
abs_crypto_cbc_block_algorithm_c ** const cbc_crypto_block_algorithm,
abs_crypto_block_algorithm_c * const crypto_block_algorithm,
const eap_variable_data_c * const iv,
@@ -1238,14 +1267,14 @@
/**
* This function initializes HMAC algorithm objects.
*/
- EAP_FUNC_IMPORT eap_status_e cipher_suite_initialization_hmac(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e cipher_suite_initialization_hmac(
abs_crypto_hmac_algorithm_c * const hmac_algorithm,
const eap_variable_data_c * const key);
/**
* This function initializes encryption and decryption objects for stream cipher suite.
*/
- EAP_FUNC_IMPORT eap_status_e cipher_suite_initialization_stream(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e cipher_suite_initialization_stream(
abs_crypto_stream_algorithm_c * const crypto_stream_algorithm,
const eap_variable_data_c * const key,
const bool true_when_encrypt);
@@ -1253,17 +1282,17 @@
/**
* This function initializes HMAC-SHA1 objects for current cipher suite.
*/
- EAP_FUNC_IMPORT eap_status_e cipher_suite_initialization_hmac_sha1(const bool send_when_true);
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e cipher_suite_initialization_hmac_sha1(const bool send_when_true);
/**
* This function initializes HMAC-MD5 objects for current cipher suite.
*/
- EAP_FUNC_IMPORT eap_status_e cipher_suite_initialization_hmac_md5(const bool send_when_true);
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e cipher_suite_initialization_hmac_md5(const bool send_when_true);
/**
* This function initializes encryption and decryption objects for current cipher suite.
*/
- EAP_FUNC_IMPORT eap_status_e cipher_suite_initialization(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e cipher_suite_initialization(
const bool send_when_true);
@@ -1272,41 +1301,41 @@
* This function creates a new TLS-record message or returns tha last one if
* parameter protocol and ther last TLS-record message match.
*/
- EAP_FUNC_IMPORT eap_status_e new_record_message(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e new_record_message(
tls_record_message_c ** const tls_record_message,
const tls_record_protocol_e protocol);
/**
* This function creates a new TLS-record including handshake protocol message.
*/
- EAP_FUNC_IMPORT eap_status_e add_record_message(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e add_record_message(
tls_handshake_message_c * const tls_handshake_message);
/**
* This function creates a new TLS-record including change cipher spec protocol message.
*/
- EAP_FUNC_IMPORT eap_status_e add_record_message(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e add_record_message(
tls_change_cipher_spec_message_c * const change_cipher_spec_message);
/**
* This function creates a new TLS-record including alert protocol message.
*/
- EAP_FUNC_IMPORT eap_status_e add_record_message(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e add_record_message(
tls_alert_message_c * const alert_message);
/**
* This function creates a new TLS-record including application data protocol message.
*/
- EAP_FUNC_IMPORT eap_status_e add_record_message(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e add_record_message(
tls_application_data_message_c * const application_data_message);
- EAP_FUNC_IMPORT void reset_block_ciphers(const bool send_when_true);
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H void reset_block_ciphers(const bool send_when_true);
- EAP_FUNC_IMPORT void reset_stream_ciphers(const bool send_when_true);
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H void reset_stream_ciphers(const bool send_when_true);
- EAP_FUNC_IMPORT void reset_hmac_algorithms(const bool send_when_true);
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H void reset_hmac_algorithms(const bool send_when_true);
- EAP_FUNC_IMPORT eap_status_e get_tls_prf_data(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e get_tls_prf_data(
const eap_variable_data_c * const master_secret,
const eap_variable_data_c * const client_random,
const eap_variable_data_c * const server_random,
@@ -1314,17 +1343,17 @@
eap_variable_data_c * const prf_data,
const u32_t required_prf_data_length);
- EAP_FUNC_IMPORT eap_status_e set_tls_session_type(const tls_session_type_e tls_session_type);
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e set_tls_session_type(const tls_session_type_e tls_session_type);
- EAP_FUNC_IMPORT tls_session_type_e get_tls_session_type();
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H tls_session_type_e get_tls_session_type();
- EAP_FUNC_IMPORT void set_tls_identity_privacy_handshake_state(const tls_identity_privacy_handshake_state_e state);
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H void set_tls_identity_privacy_handshake_state(const tls_identity_privacy_handshake_state_e state);
- EAP_FUNC_IMPORT void set_selected_cipher_suite(const tls_cipher_suites_e cipher_suite);
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H void set_selected_cipher_suite(const tls_cipher_suites_e cipher_suite);
- EAP_FUNC_IMPORT eap_status_e set_receive_cipher_suite(const tls_cipher_suites_e cipher_suite);
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e set_receive_cipher_suite(const tls_cipher_suites_e cipher_suite);
- EAP_FUNC_IMPORT eap_status_e set_send_cipher_suite(const tls_cipher_suites_e cipher_suite);
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e set_send_cipher_suite(const tls_cipher_suites_e cipher_suite);
//--------------------------------------------------
protected:
@@ -1337,13 +1366,13 @@
/**
* The destructor of the tls_record_c class does nothing special.
*/
- EAP_FUNC_IMPORT virtual ~tls_record_c();
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H virtual ~tls_record_c();
/**
* The constructor of the tls_record_c class simply initializes the attributes.
* The tls_record_c object sends packets to the network using tls_base_record_c::get_type_partner() object.
*/
- EAP_FUNC_IMPORT tls_record_c(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H tls_record_c(
abs_eap_am_tools_c * const tools, ///< tools is pointer to the tools class. @see abs_eap_am_tools_c.
tls_am_services_c * const am_tls_services, ///< This is pointer to adaoptation module of TLS.
const bool free_am_tls_services,
@@ -1356,7 +1385,7 @@
/**
* This function returns true when EAP-type is TTLS or PEAP.
*/
- EAP_FUNC_IMPORT bool get_is_tunneled_tls();
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H bool get_is_tunneled_tls();
/**
* This function sets the tunnel type.
@@ -1371,7 +1400,7 @@
* object is successfully executed. During the function call the object
* could query the configuration. Each derived class must define this function.
*/
- EAP_FUNC_IMPORT eap_status_e configure();
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e configure();
/**
* The shutdown() function is called before the destructor of the
@@ -1379,59 +1408,59 @@
* could shutdown the operations, for example cancel timers.
* Each derived class must define this function.
*/
- EAP_FUNC_IMPORT eap_status_e shutdown();
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e shutdown();
- EAP_FUNC_IMPORT eap_status_e get_ttls_implicit_challenge(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e get_ttls_implicit_challenge(
eap_variable_data_c * const ttls_implicit_challenge,
const u32_t required_ttls_implicit_challenge_length);
/**
* This function sets the NAI realm.
*/
- EAP_FUNC_IMPORT eap_status_e set_nai_realm(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e set_nai_realm(
const eap_variable_data_c * const NAI_realm ///< This is the full NAI realm.
);
// This is commented in abs_tls_base_application_c.
- EAP_FUNC_IMPORT eap_status_e packet_send(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e packet_send(
eap_buf_chain_wr_c * const sent_packet,
const u32_t header_offset,
const u32_t data_length,
const u32_t buffer_length);
// This is commented in abs_tls_base_application_c.
- EAP_FUNC_IMPORT u32_t get_header_offset(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H u32_t get_header_offset(
u32_t * const MTU_length,
u32_t * const trailer_length);
// This is commented in abs_tls_base_application_c.
- EAP_FUNC_IMPORT eap_status_e read_configure(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e read_configure(
const eap_configuration_field_c * const field,
eap_variable_data_c * const data);
// This is commented in abs_tls_base_application_c.
- EAP_FUNC_IMPORT eap_status_e write_configure(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e write_configure(
const eap_configuration_field_c * const field,
eap_variable_data_c * const data);
// This is commented in abs_tls_base_application_c.
- EAP_FUNC_IMPORT void state_notification(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H void state_notification(
const abs_eap_state_notification_c * const state);
// This is commented in abs_tls_base_application_c.
- EAP_FUNC_IMPORT eap_status_e set_timer(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e set_timer(
abs_eap_base_timer_c * const initializer,
const u32_t id,
void * const data,
const u32_t p_time_ms);
// This is commented in abs_tls_base_application_c.
- EAP_FUNC_IMPORT eap_status_e cancel_timer(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e cancel_timer(
abs_eap_base_timer_c * const initializer,
const u32_t id);
// This is commented in abs_tls_base_application_c.
- EAP_FUNC_IMPORT eap_status_e load_module(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e load_module(
const eap_type_value_e type,
const eap_type_value_e /* tunneling_type */,
abs_eap_base_type_c * const partner,
@@ -1440,31 +1469,31 @@
const eap_am_network_id_c * const receive_network_id);
// This is commented in abs_tls_base_application_c.
- EAP_FUNC_IMPORT eap_status_e unload_module(const eap_type_value_e type);
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e unload_module(const eap_type_value_e type);
// This is commented in abs_tls_base_application_c.
- EAP_FUNC_IMPORT eap_status_e restart_authentication(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e restart_authentication(
const eap_am_network_id_c * const receive_network_id,
const bool is_client_when_true,
const bool force_clean_restart,
const bool from_timer);
// This is commented in abs_tls_base_application_c.
- EAP_FUNC_IMPORT eap_status_e packet_data_crypto_keys(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e packet_data_crypto_keys(
const eap_am_network_id_c * const send_network_id,
const eap_master_session_key_c * const master_session_key);
// This is commented in abs_tls_base_application_c.
- EAP_FUNC_IMPORT eap_status_e check_is_valid_eap_type(const eap_type_value_e eap_type);
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e check_is_valid_eap_type(const eap_type_value_e eap_type);
// This is commented in abs_tls_base_application_c::get_eap_type_list().
- EAP_FUNC_IMPORT eap_status_e get_eap_type_list(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e get_eap_type_list(
eap_array_c<eap_type_value_e> * const eap_type_list);
/**
* This function sends starts EAP-TLS/PEAP after a start message is received.
*/
- EAP_FUNC_IMPORT eap_status_e start_tls_peap_authentication(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e start_tls_peap_authentication(
const eap_variable_data_c * const received_authority_identity
);
@@ -1472,7 +1501,7 @@
* This function processes the received packet.
* @param tls_packet includes the buffer of the whole reassembled TLS-packet.
*/
- EAP_FUNC_IMPORT eap_status_e packet_process(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e packet_process(
eap_variable_data_c * const tls_packet,
const u8_t received_eap_identifier);
@@ -1481,7 +1510,7 @@
* @param receive_network_id includes the addresses (network identity) and packet type.
* @param received_eap_identifier is the EAP-Identifier of the received EAP-Success packet.
*/
- EAP_FUNC_IMPORT eap_status_e plain_eap_success_failure_packet_received(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e plain_eap_success_failure_packet_received(
const eap_am_network_id_c * const receive_network_id,
const eap_code_value_e received_eap_code,
const u8_t received_eap_identifier);
@@ -1492,7 +1521,7 @@
* @param receive_network_id includes the addresses (network identity) and packet type.
* @param received_eap_identifier is the EAP-Identifier of the received EAP-Success packet.
*/
- EAP_FUNC_IMPORT eap_status_e empty_ack_packet_received(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e empty_ack_packet_received(
const eap_am_network_id_c * const receive_network_id,
const u8_t received_eap_identifier);
@@ -1501,7 +1530,7 @@
* If object initialization fails this function must return false.
* @return This function returns the validity of this object.
*/
- EAP_FUNC_IMPORT bool get_is_valid();
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H bool get_is_valid();
/**
* This function must reset the state of object to same as
@@ -1510,12 +1539,12 @@
* If object reset fails this function must return corresponding error status.
* @return This function returns the status of reset operation.
*/
- EAP_FUNC_IMPORT eap_status_e reset();
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e reset();
/**
* This function calculates the required key lengths. This function consults current cipher suite.
*/
- EAP_FUNC_IMPORT u32_t get_key_expansion_size(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H u32_t get_key_expansion_size(
u32_t * const mac_key_length,
u32_t * const encryption_key_length,
u32_t * const iv_length,
@@ -1525,9 +1554,9 @@
/**
* This function generates the key material for the current cipher suite.
*/
- EAP_FUNC_IMPORT eap_status_e generate_key_material();
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e generate_key_material();
- EAP_FUNC_IMPORT eap_status_e set_tls_master_secret(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e set_tls_master_secret(
const eap_variable_data_c * const master_secret,
const eap_variable_data_c * const client_random,
const eap_variable_data_c * const server_random);
@@ -1537,15 +1566,15 @@
* Parameter send_when_true tells whether the send cipher suite (true) or receive cipher suite (false)
* is acquired to be changed.
*/
- EAP_FUNC_IMPORT eap_status_e change_cipher_spec(const bool send_when_true);
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e change_cipher_spec(const bool send_when_true);
// This is commented in tls_base_record_c::read_authority_identity().
- EAP_FUNC_IMPORT eap_status_e read_authority_identity(eap_variable_data_c * const authority_identity_payload);
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e read_authority_identity(eap_variable_data_c * const authority_identity_payload);
// This is commented in abs_tls_am_services_c::complete_query_cipher_suites_and_previous_session().
- EAP_FUNC_IMPORT eap_status_e complete_query_cipher_suites_and_previous_session(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e complete_query_cipher_suites_and_previous_session(
const tls_session_type_e session_type,
EAP_TEMPLATE_CONST eap_array_c<u16_t> * const cipher_suites,
EAP_TEMPLATE_CONST eap_array_c<u8_t> * const compression_methods,
@@ -1558,7 +1587,7 @@
const eap_status_e completion_status);
// This is commented in abs_tls_am_services_c::complete_select_cipher_suite_and_check_session_id().
- EAP_FUNC_IMPORT eap_status_e complete_select_cipher_suite_and_check_session_id(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e complete_select_cipher_suite_and_check_session_id(
const tls_session_type_e session_type,
const u16_t selected_cipher_suite,
const eap_variable_data_c * const session_id,
@@ -1570,90 +1599,94 @@
#if defined(USE_EAP_TLS_SESSION_TICKET)
// This is commented in abs_tls_am_services_c::complete_query_new_session_ticket().
- EAP_FUNC_IMPORT eap_status_e complete_query_new_session_ticket(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e complete_query_new_session_ticket(
const tls_extension_c * const new_session_ticket_or_null);
#endif //#if defined(USE_EAP_TLS_SESSION_TICKET)
// This is commented in abs_tls_am_services_c::complete_verify_certificate_chain().
- EAP_FUNC_IMPORT eap_status_e complete_verify_certificate_chain(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e complete_verify_certificate_chain(
const eap_status_e result);
// This is commented in abs_tls_am_services_c::complete_query_certificate_chain().
- EAP_FUNC_IMPORT eap_status_e complete_query_certificate_chain(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e complete_query_certificate_chain(
EAP_TEMPLATE_CONST eap_array_c<eap_variable_data_c> * const certificate_chain,
const eap_status_e completion_status);
// This is commented in abs_tls_am_services_c::complete_query_certificate_authorities_and_types().
- EAP_FUNC_IMPORT eap_status_e complete_query_certificate_authorities_and_types(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e complete_query_certificate_authorities_and_types(
EAP_TEMPLATE_CONST eap_array_c<eap_variable_data_c> * const authorities,
EAP_TEMPLATE_CONST eap_array_c<u8_t> * const types,
const eap_status_e completion_status);
// This is commented in abs_tls_am_services_c::complete_query_dh_parameters().
- EAP_FUNC_IMPORT eap_status_e complete_query_dh_parameters(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e complete_query_dh_parameters(
const eap_variable_data_c * const dhe_prime,
const eap_variable_data_c * const dhe_group_generator,
const eap_status_e completion_status);
// This is commented in abs_tls_am_services_c::complete_query_realm().
- EAP_FUNC_IMPORT eap_status_e complete_query_realm(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e complete_query_realm(
const eap_variable_data_c * const realm,
const eap_status_e completion_status);
// This is commented in abs_tls_am_services_c::complete_rsa_encrypt_with_public_key().
- EAP_FUNC_IMPORT eap_status_e complete_rsa_encrypt_with_public_key(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e complete_rsa_encrypt_with_public_key(
const eap_variable_data_c * const encrypted_premaster_secret,
const eap_status_e completion_status);
// This is commented in abs_tls_am_services_c::complete_rsa_decrypt_with_private_key().
- EAP_FUNC_IMPORT eap_status_e complete_rsa_decrypt_with_private_key(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e complete_rsa_decrypt_with_private_key(
const eap_variable_data_c * const premaster_secret,
const eap_status_e completion_status);
// This is commented in abs_tls_am_services_c::complete_sign_with_private_key().
- EAP_FUNC_IMPORT eap_status_e complete_sign_with_private_key(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e complete_sign_with_private_key(
const eap_variable_data_c * const message_hash,
const eap_status_e completion_status);
// This is commented in abs_tls_am_services_c::complete_verify_with_public_key().
- EAP_FUNC_IMPORT eap_status_e complete_verify_with_public_key(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e complete_verify_with_public_key(
const eap_status_e verify_status);
// See abs_tls_base_application_c::get_eap_tls_master_session_key().
- EAP_FUNC_IMPORT eap_status_e get_eap_tls_master_session_key(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e get_eap_tls_master_session_key(
eap_variable_data_c * const eap_tls_master_session_key,
eap_variable_data_c * const mschapv2_challenges
);
- EAP_FUNC_IMPORT eap_status_e add_rogue_ap(eap_array_c<eap_rogue_ap_entry_c> & rogue_ap_list);
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e add_rogue_ap(eap_array_c<eap_rogue_ap_entry_c> & rogue_ap_list);
// This is documented in abs_tls_base_application_c::set_session_timeout().
- EAP_FUNC_IMPORT eap_status_e set_session_timeout(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e set_session_timeout(
const u32_t session_timeout_ms);
#if defined(USE_FAST_EAP_TYPE)
- EAP_FUNC_IMPORT eap_status_e complete_query_tunnel_PAC(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e complete_query_tunnel_PAC(
const eap_status_e in_completion_status,
const eap_fast_pac_type_e in_pac_type,
const eap_fast_variable_data_c * const in_tunnel_PAC_key_tlv,
const eap_fast_variable_data_c * const in_tunnel_PAC_opaque_tlv);
+ eap_status_e complete_start_initialize_PAC_store(
+ const eap_fast_completion_operation_e completion_operation,
+ const eap_fast_initialize_pac_store_completion_e completion);
+
#endif //#if defined(USE_FAST_EAP_TYPE)
- EAP_FUNC_IMPORT eap_status_e query_ttls_pap_username_and_password(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e query_ttls_pap_username_and_password(
const eap_variable_data_c * const reply_message);
- EAP_FUNC_IMPORT eap_status_e complete_query_ttls_pap_username_and_password(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e complete_query_ttls_pap_username_and_password(
const eap_variable_data_c * const ttls_pap_username,
const eap_variable_data_c * const ttls_pap_password,
const eap_status_e query_result);
- EAP_FUNC_IMPORT eap_status_e verify_ttls_pap_username_and_password(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e verify_ttls_pap_username_and_password(
const eap_variable_data_c * const user_name,
const eap_variable_data_c * const user_password);
- EAP_FUNC_IMPORT eap_status_e complete_verify_ttls_pap_username_and_password(
+ EAP_FUNC_VISIBILITY_TLS_RECORD_H eap_status_e complete_verify_ttls_pap_username_and_password(
const eap_status_e authentication_result,
const eap_variable_data_c * const ttls_pap_reply_message);