diff -r bad0cc58d154 -r c74b3d9f6b9e eapol/eapol_framework/eapol_symbian/am/include/eap_am_type_tls_peap_symbian.h --- a/eapol/eapol_framework/eapol_symbian/am/include/eap_am_type_tls_peap_symbian.h Tue Aug 31 15:16:37 2010 +0300 +++ b/eapol/eapol_framework/eapol_symbian/am/include/eap_am_type_tls_peap_symbian.h Wed Sep 01 12:23:57 2010 +0100 @@ -16,7 +16,7 @@ */ /* -* %version: 112 % +* %version: 86.1.2 % */ #if !defined(_EAP_AM_TYPE_TLS_PEAP_SYMBIAN_H_) @@ -33,8 +33,7 @@ #include #include #include -#include "eap_auth_notifier.h" - +#include "EapTlsPeapNotifierStructs.h" #include "EapTlsPeapUtils.h" #include @@ -49,12 +48,14 @@ class CEapTlsPeapCertInterface; class eap_am_tools_symbian_c; class abs_tls_am_application_eap_fast_c; - - +#if defined(USE_FAST_EAP_TYPE) +class CEapFastActive; +#endif +class CEapTtlsPapActive; #ifdef USE_PAC_STORE class CPacStoreDatabase; -class SInfoEntry; +struct SInfoEntry; #endif #if defined(USE_EAP_CONFIGURATION_TO_SKIP_USER_INTERACTIONS) class eap_file_config_c; @@ -62,7 +63,6 @@ const TInt KMaxLabelLength = 64; const TInt KMaxDatabaseTableName = 64; -const TInt KOffsetCorrection = 1; #if defined(USE_FAST_EAP_TYPE) const char KEapFastPacProvisResultKey[] = "eap_am_type_tls_peap_symbian_c prov. result"; @@ -72,10 +72,8 @@ /// This class is interface to adaptation module of EAP/TLS and PEAP. class EAP_EXPORT eap_am_type_tls_peap_symbian_c -: public CActive -, public eap_am_type_tls_peap_c -, public abs_eap_base_timer_c -, public MNotificationCallback +: public CActive, public eap_am_type_tls_peap_c +,public abs_eap_base_timer_c { public: @@ -87,12 +85,10 @@ EEapFastPacProvisResultSuccess /* 1 */ }; #endif - private: // data +//-------------------------------------------------- - //-------------------------------------------------- - - RFs m_session; + RDbs m_session; RDbNamedDatabase m_database; @@ -102,21 +98,17 @@ EHandlingManualIdentityQuery, /* 1 */ EHandlingChainQuery, /* 2 */ EHandlingCipherSuiteQuery, /* 3 */ - EHandlingDeviceSeedQuery, /* 4 */ -#if defined(USE_FAST_EAP_TYPE) /* 5 */ - EHandlingNotifierQuery, /* 6 */ - EPasswordQuery, /* 7 */ - EWrongPassword, /* 8 */ - EFilePasswordQuery, /* 9 */ - EMasterkeyQuery, /* 10 */ - EPasswordCancel, /* 11 */ - EShowProvSuccesstNote, /* 12 */ - EShowProvNotSuccesstNote, /* 13 */ - ENotifierComplete, /*14 */ +#if defined(USE_FAST_EAP_TYPE) /* 4 */ + EHandlingNotifierQuery, /* 5 */ + EPasswordQuery, /* 6 */ + EWrongPassword, /* 7 */ + EFilePasswordQuery, /* 8 */ + EMasterkeyQuery, /* 9 */ + EPasswordCancel, /* 10 */ + EShowProvSuccesstNote, /* 11 */ + EShowProvNotSuccesstNote, /* 12 */ + ENone /* 13 */ #endif //#if defined(USE_FAST_EAP_TYPE) - EPapUserNameAndPassword, /* 15 */ - EPapChallenge, /* 16 */ - ENone /* 17 */ }; @@ -138,7 +130,9 @@ #if defined(USE_FAST_EAP_TYPE) abs_tls_am_application_eap_fast_c * m_tls_application; - + CEapFastActive* iEapFastActiveWaitNote; + CEapFastActive* iEapFastActiveNotes; + enum TAlterTableCmd { EAddColumn, @@ -152,6 +146,11 @@ eap_type_value_e m_current_eap_type; + // These are the vendor-types for EAP type and tunneling EAP type. + // Valid for both expanded and non-expanded EAP types. + u32_t m_current_eap_vendor_type; + u32_t m_tunneling_vendor_type; + TBufC m_db_table_name; TBufC m_db_user_cert_table_name; TBufC m_db_ca_cert_table_name; @@ -159,8 +158,8 @@ TBufC m_db_name; #if defined (USE_FAST_EAP_TYPE) - TBufC m_db_fast_special_table_name; - RPointerArray m_info_array; +TBufC m_db_fast_special_table_name; +RArray m_info_array; #endif u32_t m_max_count_of_session_resumes; @@ -175,7 +174,7 @@ CEapTlsPeapCertInterface* m_cert_if; - EapCertificateEntry m_own_certificate_info; + SCertEntry m_own_certificate_info; eap_am_network_id_c m_receive_network_id; @@ -183,11 +182,11 @@ TKeyIdentifier m_subject_key_id; - RPointerArray m_allowed_ca_certs; + RArray m_allowed_ca_certs; - RPointerArray m_allowed_user_certs; + RArray m_allowed_user_certs; - RPointerArray m_allowed_server_certs; + RArray m_allowed_server_certs; RArray m_allowed_cipher_suites; @@ -199,11 +198,20 @@ bool m_shutdown_was_called; +#ifdef USE_EAP_EXPANDED_TYPES + /// Tunneling EAP configuration data from EAP database. - RPointerArray m_enabled_tunneling_exp_eap_array; - RPointerArray m_disabled_tunneling_exp_eap_array; + RExpandedEapTypePtrArray m_enabled_tunneling_exp_eap_array; + RExpandedEapTypePtrArray m_disabled_tunneling_exp_eap_array; + +#else + /// Tunneling EAP configuration data from EAP database. + TEapArray m_iap_eap_array; +#endif // #ifdef USE_EAP_EXPANDED_TYPES + TIdentityInfo* m_identity_info; + TBuf8<4> m_selector_output; eap_type_value_e m_tunneled_type; @@ -222,8 +230,6 @@ bool m_tls_peap_server_authenticates_client_policy_flag; - bool m_use_automatic_ca_certificate; - /// This flag prevents double configuration. This can happen when /// this class implements many interfaces. bool m_configured; @@ -258,16 +264,18 @@ bool m_serv_unauth_prov_mode; bool m_serv_auth_prov_mode; -#endif - + // For FAST notifiers + RNotifier m_notifier; + bool m_is_notifier_connected; // Tells if notifier server is connected. - CEapAuthNotifier::TEapDialogInfo * m_notifier_data_to_user; + TEapFastNotifierStruct * m_notifier_data_to_user; + TPckg * m_notifier_data_pckg_to_user; - TPckg * m_notifier_data_pckg_to_user; + TEapFastNotifierStruct * m_notifier_data_from_user; + TPckg * m_notifier_data_pckg_from_user; /* For MMETEL */ -#if defined(USE_FAST_EAP_TYPE) // ETel connection. RTelServer iServer; @@ -279,7 +287,6 @@ // Tells if MMETEL is connected already or not. TBool iMMETELConnectionStatus; - TBool m_completed_with_zero; TBool m_verificationStatus; @@ -287,6 +294,7 @@ EEapFastNotifierUserAction m_userAction; eap_pac_store_data_type_e m_pacStoreDataRefType; eap_fast_pac_store_data_c m_data_reference; + TBool m_notifier_complete; eap_variable_data_c m_userResponse; eap_fast_pac_store_pending_operation_e m_pending_operation; TInt m_both_completed; @@ -308,7 +316,6 @@ eap_fast_initialize_pac_store_completion_e iCompletion; #endif //#if defined(USE_FAST_EAP_TYPE) - TBool m_notifier_complete; #ifdef USE_PAC_STORE CPacStoreDatabase * iPacStoreDb; @@ -331,16 +338,7 @@ * Provides asynch services used by the caller such as * query for TTLS-PAP user name and password. */ - - // eap_am_type_tls_peap_symbian_c* iCaller; - - eap_variable_data_c* iPacStoreDeviceSeed; - -#ifdef USE_PAC_STORE -#endif - - CEapAuthNotifier* iEapAuthNotifier; - + CEapTtlsPapActive* iEapTtlsPapActive; //-------------------------------------------------- @@ -421,6 +419,10 @@ void send_error_notification(const eap_status_e error); + eap_status_e show_certificate_selection_dialog(); + + eap_status_e show_manual_identity_dialog(); + void ResetSessionIdL(); /** @@ -458,7 +460,8 @@ const eap_fast_pac_store_pending_operation_e in_pending_operation, EAP_TEMPLATE_CONST eap_array_c * const in_references_and_data_blocks); - + eap_status_e ShowNotifierItemAndGetResponse( + EEapFastNotifierUiItem aNotifierUiItem, TBool aSetActive ); eap_status_e RemoveIAPReference(); @@ -470,6 +473,8 @@ eap_status_e CompleteFilePasswordQueryL(); + eap_status_e CompleteNotifierL(); + eap_status_e CompleteFilePasswordQuery(); eap_status_e FinalCompleteReadPACStoreDataL(eap_status_e status); @@ -557,23 +562,7 @@ const TInt64& aInMaxSessionTime, const TInt64& aInLastFullAuthTime ); -#ifdef USE_FAST_EAP_TYPE - TInt CreateMMETelConnectionL(); - - void DisconnectMMETel(); - - eap_status_e CreateDeviceSeedAsync(); - - void CompleteCreateDeviceSeedL( TInt aStatus ); -#endif - eap_status_e select_cipher_suite( - const bool select_all_cipher_suites, - const tls_cipher_suites_e test_cipher_suite, - const TAlgorithmId testcertAlgorithm, - const TAlgorithmId certAlgorithm, - eap_array_c * cipher_suites); - //-------------------------------------------------- protected: // methods //-------------------------------------------------- @@ -613,7 +602,7 @@ EAP_FUNC_IMPORT virtual ~eap_am_type_tls_peap_symbian_c(); - EAP_FUNC_IMPORT eap_status_e shutdown(); + EAP_FUNC_EXPORT eap_status_e shutdown(); EAP_FUNC_IMPORT void set_is_valid(); @@ -827,9 +816,9 @@ eap_status_e complete_read_ca_certificate( const RPointerArray& aCertChain, eap_status_e aStatus); - void complete_validate_chain(const CPKIXValidationResult * const aValidationResult, const eap_status_e aStatus); + void complete_validate_chain(CPKIXValidationResult& aValidationResult, eap_status_e aStatus); - void complete_get_matching_certificates(RPointerArray& aMatchingCerts, eap_status_e aStatus); + void complete_get_matching_certificates(CArrayFixFlat& aMatchingCerts, eap_status_e aStatus); void complete_sign(const RInteger& aR, const RInteger& aS, eap_status_e aStatus); @@ -1027,12 +1016,7 @@ #if defined(USE_EAP_CONFIGURATION_TO_SKIP_USER_INTERACTIONS) eap_status_e ReadFileConfig(); #endif - -#endif - - EAP_FUNC_IMPORT void DlgComplete( TInt aStatus ); - - +#endif }; // class eap_am_type_tls_peap_symbian_c